รายชื่อผู้ใช้ทั้งหมดที่มุ่งมั่นในพื้นที่เก็บข้อมูล SVN


10

สำหรับพื้นที่เก็บข้อมูล SVN ที่กำหนดฉันจำเป็นต้องกำหนดรายการของผู้ใช้ทุกคนที่เคยยืนยันสิ่งใด ๆ กับที่เก็บข้อมูลนั้น ที่เก็บนี้ไม่ได้เป็นที่เดียวบนเซิร์ฟเวอร์ SVN แต่รายการควรถูก จำกัด ไว้ที่ที่เก็บนั้น


คุณสามารถแยกวิเคราะห์svn logผู้ใช้ที่ยอมรับการเปลี่ยนแปลงได้หรือไม่? หรือตรวจสอบ repo ไม่ใช่ตัวเลือก?
physicsmichael

คุณมีงูหลามด้วยหรือเปล่า =)
Physicsmichael

คำตอบ:


18

ในขณะที่ฉันเริ่มเขียน python ของฉันใหม่ฉันก็รู้วิธีที่ดีกว่าในการทำสิ่งที่คุณถาม

ลองดู repo จากนั้นไปที่มันและรัน:

svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq

ที่ได้รับรายการของการเปลี่ยนแปลงทั้งหมดที่ได้รับการยอมรับ greps สำหรับบรรทัดที่เริ่มต้นด้วยการแก้ไขและหมายเลข ( r[12341] | author | date-and-stuff...) พิมพ์ฟิลด์ที่สาม (ผู้เขียน) เรียงลำดับผู้เขียนและกำจัดรายการที่ซ้ำกัน


@ user12889: ยินดีต้อนรับ ฉันเพิ่งเห็นคำถามที่ถูกต้องในเวลาที่เหมาะสม
physicsmichael

ในกรณีที่ข้อมูลชื่อมีค่าที่มีช่องว่าง (ในกรณีของฉันฉันได้กระทำจากผู้ใช้(no author)) การเพิ่ม-F ' [|] 'การ awk svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniqจะคว้าทั้งชื่อ:
Quinn Comendant

2

คำตอบของ vgm64 นั้นดี แต่มันใช้งานไม่ได้กับชื่อที่มีช่องว่าง ฉันเปลี่ยนมันดังนั้น:

svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq

2

รูปแบบอ่อนของ @DrummerB คำตอบสำหรับชื่อผู้ใช้ที่มีช่องว่างรวมกับความเรียบง่ายของ @ vgm64

svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u


สิ่งนี้ใช้ได้กับฉันด้วย - ในขณะที่รุ่นของ @ DrummerB ไม่ได้แสดงผลใด ๆ
NickG

0

ฉันรู้ว่ากระทู้นี้เก่า แต่เนื่องจากบทเรียนบางอย่างในการแปลง SVN เป็น Git กำลังลิงก์อยู่ฉันจึงเพิ่มคำสั่งที่จะสร้างไฟล์ Authors.txt:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt

หากนี่เป็น SVN ที่นำเข้าหรือหากคุณสะดุดกับNot a working copyข้อผิดพลาดคุณสามารถระบุเส้นทางในเครื่องไปยังโฟลเดอร์ SVN ได้โดยเพิ่มfile:///tmp/svn-repoหลังจากsvn log -q

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.