Memformat Output Log SVN


3

Saya ingin mengambil pesan log untuk file yang berkomitmen untuk svn. Saya menggunakan perintah berikut saat ini:

 svn --non-interactive log "myfile.c" | sed -e "s/[\-]//g"'   

Outputnya adalah:

r42153 | sam | 2012-03-02 14:51:53 -0800 (Fri, 02 Mar 2012) | 1 line

Update to code.  

Saya ingin menyingkirkan baris pertama "r42153 | sam | ...." dan hanya menampilkan pesan log.

Bagaimana saya bisa melakukan ini?

Jawaban:


1

gunakan | grep -v "what you don't want to include"untuk meninggalkan garis yang tidak Anda inginkan. Namun, mencoba untuk meninggalkan apa pun \nhanya dengan meninggalkan semuanya, jadi jangan lakukan itu.


Terima kasih @Dez. Saya lupa tentang grep. Saya akhirnya menggunakan grep -v "| [0-9] \ + line [s] \? $"
smokinguns

2

Anda dapat membuang jalur yang berguna dari pesan komit Anda saat menggunakan grep. SVN menyediakan perintah propget di luar kotak:

menggunakan

$ svn propget svn:log --revprop -r R [TARGET]

untuk mendapatkan pesan komit

atau

$ svn propget svn:log --revprop -r R [TARGET] --xml

untuk mendapatkannya dalam XML.

TARGET adalah path ke repositori dan dapat dihapus id Anda dalam copy pekerjaan.


Ini seharusnya jawaban yang diterima :)
Sebi

0

Anda dapat menggunakan | sed -e ':a;N;$!ba;s/-\+\(\n[^\n]*\n\)\?//g'untuk menghapus semua "---" dengan treir baris berikutnya.


0

Selama Anda mencatat satu revisi, Anda bisa menggunakannya

svn log -rXXXX | tail -n+4 | head -n-1

untuk menyingkirkan semuanya kecuali pesan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.