Mode non-interaktif Dch

11

Saya mencoba menemukan cara untuk menjalankan dchdalam mode non-interaktif, untuk menggabungkan debian/changelogpembuatan dan manipulasi file dalam skrip shell.

Tampaknya hanya ketika menjalankannya dengan argumen -r ""itu berfungsi (sebagaimana ditentukan di sini ). Namun, saya perlu menggunakan argumen yang berbeda.

Omer Dagan
sumber

Jawaban:

11

Menemukan masalahnya,

Tampaknya dchakan membuka editor jika tidak mendapatkan semua informasi yang dianggap wajib. Jadi untuk membuat debian/changelogtanpa membuka editor saya telah menemukan bahwa kombinasi opsi berikut cukup:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Omer Dagan
sumber
1
dch -n "some nice message"cukup.
uav
1
@uav -nflag tidak berfungsi jika Anda perlu membuat log perubahan baru untuk pertama kalinya:dch: fatal error at line 573: Cannot find debian/changelog anywhere! Are you in the source code tree? (You could use --create if you wish to create this file.)
Wimateeka
0

Itu tergantung pada apa yang ingin Anda lakukan dengannya. dchmengambil VISUAL/ EDITORvariabel untuk menentukan editor, dan satu-satunya syarat adalah bahwa ia memahami / mengabaikan opsi awal formulir +n. Jadi saya bisa melakukan:

$ cat edit.sh 
#! /bin/bash

shift
sed -i 's/UNRELEASED/trusty/' "$@"
$ VISUAL='bash edit.sh' dch -i
$ head -3 debian/changelog
mypackage (1.24ubuntu1) trusty; urgency=medium

  * 

Dan dapatkan operasi yang cukup otomatis.

muru
sumber