git-svn-helpers

Software screenshot:
git-svn-helpers
Rincian Software:
Versi: 0.9
Tanggal Upload: 15 Apr 15
Pengembang: Tom Lazar
Lisensi: Gratis
Popularitas: 24

Rating: nan/5 (Total Votes: 0)

git-svn-pembantu adalah kumpulan alat baris perintah yang sangat menyederhanakan menggunakan git untuk svn repositori.
Tujuan utama git-svn-pembantu adalah untuk membuat pengaturan repositori git lokal menyusul svn checkout ada sebuah 'no-brainer'.
Ini juga membahas menggunakan repositori git-svn tunggal untuk bekerja pada beberapa checkout (biasanya) cabang yang berbeda dan beralih di antara mereka.
Dasar penggunaan (Contoh)
Ringkasan Eksekutif:
> Path cd / ke / svn / repo
> Gitify
Berikut adalah sesi sampel:
> Cd / tmp
> Svn co https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
A 1.1 / setup.py
...
Check out 27.228 revisi.
> Cd plone.app.form
> Gitify
Tidak ada git repositori ditemukan di /Users/tomster/.gitcache/.
Memulai kloning ke dalam cache.
Menganalisis svn log ...
Kloning https://svn.plone.org/svn/plone/plone.app.form/ dari r10593: 27.155 ke /Users/tomster/.gitcache/
Diinisialisasi repositori Git kosong di /Users/tomster/.gitcache/plone.app.form/.git/
...
Git cabang 'lokal / 1.1' kini mengikuti svn cabang '1.1':
# Pada cabang lokal / 1.1
apa-apa untuk melakukan (direktori kerja bersih)
> Git branch
* Lokal / 1.1
& Nbsp; Master
Poin yang perlu diperhatikan:
& Nbsp; * gitify membatasi kloning pada revisi ditemukan dalam log svn dari akar paket (di sini https://svn.plone.org/svn/plone/plone.app.form/). Sebuah penghemat waktu besar, terutama pada repositori besar (seperti plone.collective)
& Nbsp; * gitify menciptakan repositori git di ~ / .gitcache tidak pada tempatnya
& Nbsp; * gitify menciptakan cabang lokal lokal / 1.1 yang mengikuti (remote) svn cabang 1.1 dan beralih ke itu
Beberapa check-out
Dalam prakteknya Anda akan sering bekerja dengan salinan lokal yang berbeda dari repositori yang diberikan, yaitu pada batang dan cabang fitur. Saat itulah direktori .gitcache dibuat di atas sangat berguna. Mari kita checkout kami sebelumnya keluar dari jalan dan membuat checkout pemeliharaan yang mengikuti batang:
> Cd ..
> Mkdir fitur-cabang
> Plone.app.form mv fitur-cabang /
> Pemeliharaan mkdir
> Maintenance cd /
> Svn co https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
Sebuah plone.app.form / setup.py
...
& Nbsp; U plone.app.form
Check out 27.228 revisi.
Apa yang terjadi jika kita menjalankan gitify sini ?:
> Cd plone.app.form /
> Gitify
Git cabang 'lokal / trunk' kini mengikuti svn cabang 'batang':
# Pada cabang lokal / trunk
apa-apa untuk melakukan (direktori kerja bersih)
Perhatikan, bahwa operasi ini berjalan jauh lebih cepat, karena kita sekarang telah menggunakan git repositori yang ada di direktori cache. Hal ini dapat dibuktikan lebih lanjut dengan melihat cabang-cabang lokal tersedia sekarang:
> Git branch
& Nbsp; lokal / 1.1
* Lokal / trunk
& Nbsp; Master
Peringatan
Git 'Daur Ulang' dengan cara ini bekerja (mungkin mengejutkan) baik dalam praktek, tetapi Anda perlu menjaga berikut dalam pikiran:
Semua checkout berbagi indeks yang sama!
Mari kita lihat apa artinya ini dengan beralih kembali ke fitur cabang kami:
> Cd ../../feature-branch/plone.app.form/
> Git status
# Pada cabang lokal / trunk
# Berubah tetapi tidak diperbarui:
# (Gunakan "git add / rm ..." untuk memperbarui apa yang akan dilakukan)
# (Gunakan "git checkout - ..." membuang perubahan dalam direktori kerja)
#
# Dimodifikasi: docs / HISTORY.txt
...
# Dihapus: plone / app / bentuk / KSS / tes / test_kss.py
...
#
# File Untracked:
# (Gunakan "git add ..." untuk memasukkan dalam apa yang akan dilakukan)
#
# Plone / app / bentuk / tes / test_kss.py
Wohah! Apa yang terjadi adalah bahwa git sekarang menunjuk ke batang dan dengan demikian perintah status menunjukkan perbedaan antara itu dan cabang kami sebagai modifikasi lokal, karena itulah yang mewakili filesystem. Kita dapat memverifikasi ini dengan menggunakan perintah status subversions:
> Svn st

Fiuh! Semua dalam rangka! Tapi apa yang harus dilakukan dengan git? Kami telah selesai bekerja pada batang dan ingin kembali ke fitur cabang kami, tetapi indeks git semua salah ?! Sederhana: hanya kembali menjalankan gitify:
> Gitify
Git cabang 'lokal / 1.1' kini mengikuti svn cabang '1.1':
# Pada cabang lokal / 1.1
apa-apa untuk melakukan (direktori kerja bersih)
Pada dasarnya, itu semua yang perlu Anda ingat ketika bekerja dengan beberapa check-out dari paket yang sama: Selalu menjalankan gitify bila beralih di antara check-out

Apa yang baru dalam rilis ini :

  • Repositori kanonis sekarang di https://github.com/collective. [Rossp]
  • Perbaiki penanganan ketika beralih ke cabang svn yang git sudah memiliki cabang lokal untuk. [Rossp]

Apa yang baru dalam versi 0.8:

  • Membuat perintah init mengikutinya jika repositori svn telah beralih ke cabang lain. Berkat Calvin Hendryx-Parker untuk melaporkan masalah ini. [Tomster]

Apa yang baru dalam versi 0.7:

  • Gunakan salinan lengkap bukan symlink untuk membuat copy pekerjaan. Hal ini untuk menghindari masalah memiliki git dan svn repositori tidak sinkron ketika bekerja dengan beberapa salinan repositori yang sama dan sangat mengurangi risiko konflik.
  • Ini juga berarti, bahwa mengambil perintah sekarang hanya beroperasi pada cache tanpa memodifikasi copy pekerjaan (sehingga aman untuk dijalankan melalui crontab, misalnya)
  • Running gitify melawan gaya lama copy pekerjaan akan menghasilkan kesalahan. Hanya menghapus symlink dan kembali menjalankan pengobatan gitify itu, namun.
  • Efek lain, adalah bahwa perintah init sekarang hanya dibutuhkan sekali untuk setiap copy pekerjaan (tidak lagi diperlukan untuk kembali menjalankan perintah setelah beralih antara salinan kerja yang berbeda dari repositori yang sama).
  • gitify karena itu tidak ada default lagi dengan perintah init (seperti tidak git atau svn melakukan apa-apa w / o memasok tindakan nyata). Juga, telah berganti nama dari gitify (kembali) untuk init. [Tomster]
  • Biarkan bantuan, --version dan mengambil perintah untuk menjalankan direktori luar Svn [tomster]

Apa yang baru dalam versi 0.5:

  • Ditambahkan pembaruan gitify perintah, yang melakukan rebase git-svn operasi untuk svn checkout saat ini tetapi juga menangani perubahan lokal tidak terikat gracelully (tidak seperti git svn tapi seperti svn tidak)
  • Tidak lagi menggunakan modul logging untuk umpan balik pengguna. Ide itu agak sesat

Apa yang baru dalam versi 0.4:

  • Refactored entry point untuk hanya menggunakan gitify. Semua perintah lain sekarang sub-perintah dari gitify:
  • gs-komit telah diganti dengan push gitify
  • gs-download yang telah diganti dengan gitify mengambil
  • Ditambahkan penggunaan dan bantuan output untuk setiap perintah.
  • Dihapus entry point gs-clone karena hanya pernah digunakan bersama-sama dengan perintah gitify utama pula.
  • Gunakan logging yang tepat, bukan hanya mencetak ke stdout
  • Ditambahkan tes komprehensif, termasuk tes fungsional yang meliputi seluruh update / komit siklus kloning repositori svn dan terjadinya tindak kembali ke sana.

Apa yang baru dalam versi 0.3.1:

  • bugfix: Jangan gunakan alias kustom, seperti mereka mungkin tidak akan diinstal. Ini menyelesaikan http://github.com/tomster/git-svn-helpers/issues#issue/2
  • bugfix: Secara eksplisit daftar ElementTree sebagai ketergantungan ini memecahkan http://github.com/tomster/git-svn-helpers/issues#issue/1)

Apa yang baru dalam versi 0.3 Beta:

  • Ditambahkan gs-commit perintah yang membantu melakukan kembali ke svn dan menjaga git dan svn di sync

Apa yang baru dalam versi 0.2 Beta:

  • Ditambahkan gs-mengambil perintah yang membantu menjaga cache up-to-date

Persyaratan :

  • Python

Software yang serupa

gett-cli
gett-cli

20 Feb 15

reposurgeon
reposurgeon

17 Feb 15

hgsubversion
hgsubversion

14 Apr 15

hgtools
hgtools

14 Apr 15

Perangkat lunak lain dari pengembang Tom Lazar

ezjail-remote
ezjail-remote

20 Feb 15

Komentar untuk git-svn-helpers

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!