สำหรับพื้นที่เก็บข้อมูล SVN ที่กำหนดฉันจำเป็นต้องกำหนดรายการของผู้ใช้ทุกคนที่เคยยืนยันสิ่งใด ๆ กับที่เก็บข้อมูลนั้น ที่เก็บนี้ไม่ได้เป็นที่เดียวบนเซิร์ฟเวอร์ SVN แต่รายการควรถูก จำกัด ไว้ที่ที่เก็บนั้น
สำหรับพื้นที่เก็บข้อมูล SVN ที่กำหนดฉันจำเป็นต้องกำหนดรายการของผู้ใช้ทุกคนที่เคยยืนยันสิ่งใด ๆ กับที่เก็บข้อมูลนั้น ที่เก็บนี้ไม่ได้เป็นที่เดียวบนเซิร์ฟเวอร์ SVN แต่รายการควรถูก จำกัด ไว้ที่ที่เก็บนั้น
คำตอบ:
ในขณะที่ฉันเริ่มเขียน python ของฉันใหม่ฉันก็รู้วิธีที่ดีกว่าในการทำสิ่งที่คุณถาม
ลองดู repo จากนั้นไปที่มันและรัน:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
ที่ได้รับรายการของการเปลี่ยนแปลงทั้งหมดที่ได้รับการยอมรับ greps สำหรับบรรทัดที่เริ่มต้นด้วยการแก้ไขและหมายเลข ( r[12341] | author | date-and-stuff...
) พิมพ์ฟิลด์ที่สาม (ผู้เขียน) เรียงลำดับผู้เขียนและกำจัดรายการที่ซ้ำกัน
(no author)
) การเพิ่ม-F ' [|] '
การ awk svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
จะคว้าทั้งชื่อ:
คำตอบของ vgm64 นั้นดี แต่มันใช้งานไม่ได้กับชื่อที่มีช่องว่าง ฉันเปลี่ยนมันดังนั้น:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
รูปแบบอ่อนของ @DrummerB คำตอบสำหรับชื่อผู้ใช้ที่มีช่องว่างรวมกับความเรียบง่ายของ @ vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
ฉันรู้ว่ากระทู้นี้เก่า แต่เนื่องจากบทเรียนบางอย่างในการแปลง 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
svn log
ผู้ใช้ที่ยอมรับการเปลี่ยนแปลงได้หรือไม่? หรือตรวจสอบ repo ไม่ใช่ตัวเลือก?