git-cvsserver - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ git-cvsserver ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


git-cvsserver - ເຊີບເວີ CVS emulator ສໍາລັບ Git

ສະຫຼຸບສັງລວມ


SSH:

ສົ່ງອອກ CVS_SERVER="git cvsserver"
cvs -d :ext:user@server/path/repo.git co

pserver (/etc/inetd.conf):

cvspserver stream tcp ດຽວນີ້ບໍ່ມີໃຜ /usr/bin/git-cvsserver git-cvsserver pserver

ການນໍາໃຊ້:

git-cvsserver [ຕົວເລືອກ] [server|server] [ ...]

OPTIONS


ທາງເລືອກທັງຫມົດເຫຼົ່ານີ້ແນ່ນອນພຽງແຕ່ເຮັດໃຫ້ຄວາມຮູ້ສຶກຖ້າຖືກບັງຄັບໂດຍຝ່າຍເຊີຟເວີ. ພວກເຂົາເຈົ້າໄດ້
ປະຕິບັດໃຫ້ຄ້າຍຄືກັບ git-daemon(1​) ທາງ​ເລືອກ​ທີ່​ໃກ້​ຊິດ​ເປັນ​ໄປ​ໄດ້​.

--ເສັ້ນທາງພື້ນຖານ
ລ່ວງໜ້າ ເສັ້ນທາງ ເພື່ອຮ້ອງຂໍ CVSROOT

--ເສັ້ນທາງທີ່ເຄັ່ງຄັດ
ບໍ່ອະນຸຍາດໃຫ້ recursing ເຂົ້າໄປໃນ subdirectories

--ສົ່ງອອກທັງໝົດ
ຢ່າກວດເບິ່ງ gitcvs.enabled ໃນ config. ນອກນັ້ນທ່ານຍັງຕ້ອງລະບຸບັນຊີລາຍຊື່ຂອງອະນຸຍາດ
ໄດເລກະທໍລີ (ເບິ່ງຂ້າງລຸ່ມນີ້) ຖ້າທ່ານຕ້ອງການໃຊ້ທາງເລືອກນີ້.

-V, - ຫັນ
ພິມຂໍ້ມູນສະບັບແລະອອກ

-h, -H, --help
ພິມຂໍ້ມູນການນໍາໃຊ້ແລະອອກ


ທ່ານສາມາດກໍານົດບັນຊີລາຍຊື່ຂອງໄດເລກະທໍລີທີ່ອະນຸຍາດ. ຖ້າບໍ່ມີໄດເລກະທໍລີຖືກໃຫ້, ທັງຫມົດແມ່ນ
ອະນຸຍາດ. ນີ້ແມ່ນຂໍ້ຈໍາກັດເພີ່ມເຕີມ, ການເຂົ້າເຖິງ gitcvs ຍັງຕ້ອງໄດ້ຮັບການເປີດໃຊ້ໂດຍ
ທາງເລືອກການຕັ້ງຄ່າ gitcvs.enabled ເວັ້ນເສຍແຕ່ --ສົ່ງອອກທັງໝົດ ໄດ້ຖືກມອບໃຫ້, ເຊັ່ນດຽວກັນ.

ລາຍລະອຽດ


ແອັບພລິເຄຊັນນີ້ເປັນຊັ້ນຈຳລອງ CVS ສໍາລັບ Git.

ມັນມີປະໂຫຍດສູງ. ຢ່າງໃດກໍຕາມ, ບໍ່ແມ່ນວິທີການທັງຫມົດແມ່ນປະຕິບັດ, ແລະສໍາລັບວິທີການເຫຼົ່ານັ້ນ
ທີ່ຖືກປະຕິບັດ, ບໍ່ແມ່ນການສະຫຼັບທັງຫມົດຖືກປະຕິບັດ.

ການທົດສອບໄດ້ຖືກເຮັດໂດຍໃຊ້ທັງລູກຄ້າ CLI CVS, ແລະ plugin Eclipse CVS. ຫຼາຍທີ່ສຸດ
ການທໍາງານເຮັດວຽກດີກັບທັງສອງລູກຄ້າເຫຼົ່ານີ້.

ຂອບເຂດ ຈຳ ກັດ


ລູກຄ້າ CVS ບໍ່ສາມາດແທັກ, ສາຂາຫຼືປະຕິບັດການລວມ Git.

git-cvsserver ແຜນທີ່ສາຂາ Git ກັບໂມດູນ CVS. ນີ້ແມ່ນແຕກຕ່າງກັນຫຼາຍຈາກສິ່ງທີ່ CVS ສ່ວນໃຫຍ່
ຜູ້ໃຊ້ຄາດຫວັງຕັ້ງແຕ່ຢູ່ໃນໂມດູນ CVS ປົກກະຕິແລ້ວເປັນຕົວແທນຫນຶ່ງຫຼືຫຼາຍໄດເລກະທໍລີ.

ການຕິດຕັ້ງ


1. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຈະ​ສະ​ເຫນີ​ໃຫ້​ການ​ເຂົ້າ​ເຖິງ CVS ຜ່ານ pserver​, ເພີ່ມ​ເສັ້ນ​ໃນ /etc/inetd.conf ເຊັ່ນ​:

cvspserver stream tcp ໃນປັດຈຸບັນບໍ່ມີໃຜ git-cvsserver pserver

ໝາຍເຫດ: ບາງເຊີບເວີ inetd ໃຫ້ທ່ານລະບຸຊື່ຂອງ executable ເປັນເອກະລາດ
ຄ່າຂອງ argv[0] (ເຊັ່ນ: ຊື່ໂຄງການສົມມຸດວ່າມັນຖືກປະຕິບັດດ້ວຍ). ໃນ​ນີ້
ກໍລະນີເສັ້ນທີ່ຖືກຕ້ອງໃນ /etc/inetd.conf ເບິ່ງຄືວ່າ

cvspserver stream tcp ດຽວນີ້ບໍ່ມີໃຜ /usr/bin/git-cvsserver git-cvsserver pserver

ສະເພາະການເຂົ້າເຖິງທີ່ບໍ່ເປີດເຜີຍຊື່ແມ່ນສະຫນອງໃຫ້ໂດຍ preserve ໂດຍຄ່າເລີ່ມຕົ້ນ. ຫມັ້ນສັນຍາທ່ານຈະຕ້ອງໄດ້
ສ້າງບັນຊີ pserver, ພຽງແຕ່ເພີ່ມການຕັ້ງຄ່າ gitcvs.authdb ໃນໄຟລ໌ config ຂອງ
repositories ທ່ານຕ້ອງການໃຫ້ cvsserver ອະນຸຍາດໃຫ້ຂຽນເຖິງ, ສໍາລັບການຍົກຕົວຢ່າງ:

[gitcvs]
authdb = /etc/cvsserver/passwd

ຮູບແບບຂອງໄຟລ໌ເຫຼົ່ານີ້ແມ່ນຊື່ຜູ້ໃຊ້ຕາມດ້ວຍລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດ, ຕົວຢ່າງ:

myuser:$1Oyx5r9mdGZ2
myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./

ທ່ານສາມາດນໍາໃຊ້ໄດ້ htpasswd ສິ່ງອໍານວຍຄວາມສະດວກທີ່ມາພ້ອມກັບ Apache ເພື່ອເຮັດໃຫ້ໄຟລ໌ເຫຼົ່ານີ້, ແຕ່
ວິທີການ crypt MD5 ຂອງ Apache ແຕກຕ່າງຈາກວິທີທີ່ໃຊ້ໂດຍ crypt() ຂອງ C library ສ່ວນໃຫຍ່.
ຟັງຊັນ, ດັ່ງນັ້ນຢ່າໃຊ້ຕົວເລືອກ -m.

ອີກທາງເລືອກ, ທ່ານສາມາດຜະລິດລະຫັດຜ່ານດ້ວຍຕົວປະຕິບັດການ crypt() ຂອງ perl:

perl -e 'my ($user, $pass) = @ARGV; printf "%s:%s\n", $user, crypt($user, $pass)' ລະຫັດຜ່ານ $USER

ຫຼັງຈາກນັ້ນ, ໃຫ້ລະຫັດຜ່ານຂອງທ່ານໂດຍຜ່ານວິທີການ pserver, ສໍາລັບການຍົກຕົວຢ່າງ:

cvs -d:pserver: someuser: somepassword server/path/repo.git co

ບໍ່ຈໍາເປັນຕ້ອງມີການຕິດຕັ້ງພິເສດສໍາລັບການເຂົ້າເຖິງ SSH, ນອກຈາກມີເຄື່ອງມື Git ໃນ PATH. ຖ້າ
ທ່ານມີລູກຄ້າທີ່ບໍ່ຍອມຮັບຕົວແປສະພາບແວດລ້ອມ CVS_SERVER, ທ່ານສາມາດເຮັດໄດ້
ປ່ຽນຊື່ git-cvsserver ເຖິງ cvs.

ໝາຍເຫດ: ລຸ້ນ CVS ໃໝ່ກວ່າ (>= 1.12.11) ຍັງຮອງຮັບການລະບຸ CVS_SERVER ໂດຍກົງໃນ
CVSROOT ມັກ

cvs -d ":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git" co

ນີ້ມີປະໂຫຍດທີ່ມັນຈະຖືກບັນທຶກໄວ້ໃນຂອງເຈົ້າ CVS/ຮາກ ໄຟລ​໌​ແລະ​ທ່ານ​ບໍ່​ຈໍາ​ເປັນ​ຕ້ອງ​
ເປັນຫ່ວງກ່ຽວກັບການຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມທີ່ຖືກຕ້ອງສະເໝີ. ຜູ້ໃຊ້ SSH ຖືກຈໍາກັດ
to git-shell ບໍ່ຈໍາເປັນຕ້ອງ override ຄ່າເລີ່ມຕົ້ນດ້ວຍ CVS_SERVER (ແລະບໍ່ຄວນ) ເປັນ
git-shell ເຂົ້າໃຈ cvs ຫມາຍຄວາມວ່າ git-cvsserver ແລະທຳທ່າວ່າອີກເບື້ອງໜຶ່ງແລ່ນ
ທີ່ແທ້ຈິງ cvs ດີກວ່າ.

2. ສໍາລັບແຕ່ລະ repo ທີ່ທ່ານຕ້ອງການເຂົ້າເຖິງໄດ້ຈາກ CVS ທ່ານຈໍາເປັນຕ້ອງແກ້ໄຂ config ໃນ repo.
ແລະເພີ່ມພາກສ່ວນຕໍ່ໄປນີ້.

[gitcvs]
ເປີດໃຊ້ງານ = 1
# ທາງເລືອກສໍາລັບການດີບັກ
logFile=/path/to/logfile

ຫມາຍເຫດ: ທ່ານຈໍາເປັນຕ້ອງຮັບປະກັນຜູ້ໃຊ້ແຕ່ລະຄົນທີ່ຈະເອີ້ນ git-cvsserver ໄດ້ຂຽນ
ການເຂົ້າເຖິງໄຟລ໌ບັນທຶກແລະຖານຂໍ້ມູນ (ເບິ່ງຖານຂໍ້ມູນ Backend. ຖ້າທ່ານຕ້ອງການສະເຫນີ
ການເຂົ້າເຖິງການຂຽນຜ່ານ SSH, ແນ່ນອນ, ຜູ້ໃຊ້ຍັງຕ້ອງການການຂຽນເຂົ້າເຖິງ Git
repository ຕົວຂອງມັນເອງ.

ນອກນັ້ນທ່ານຍັງຕ້ອງການໃຫ້ແນ່ໃຈວ່າແຕ່ລະ repository ແມ່ນ "ເປົ່າ" (ໂດຍບໍ່ມີໄຟລ໌ດັດສະນີ Git) ສໍາລັບ
cvs ມຸ່ງຫມັ້ນທີ່ຈະເຮັດວຽກ. ເບິ່ງ gitcvs-ການເຄື່ອນຍ້າຍ(7).

ຕົວແປການຕັ້ງຄ່າທັງໝົດຍັງສາມາດຖືກລົບລ້າງໄດ້ສຳລັບວິທີການເຂົ້າເຖິງສະເພາະ.
ຊື່ວິທີການທີ່ຖືກຕ້ອງແມ່ນ "ext" (ສໍາລັບການເຂົ້າເຖິງ SSH) ແລະ "pserver". ຕົວຢ່າງຕໍ່ໄປນີ້
ການຕັ້ງຄ່າຈະປິດການເຂົ້າໃຊ້ pserver ໃນຂະນະທີ່ຍັງອະນຸຍາດໃຫ້ເຂົ້າເຖິງຜ່ານ SSH.

[gitcvs]
ເປີດໃຊ້ງານ = 0

[gitcvs "ext"]
ເປີດໃຊ້ງານ = 1

3. ຖ້າທ່ານບໍ່ໄດ້ລະບຸ CVSROOT/CVS_SERVER ໂດຍກົງໃນຄໍາສັ່ງຈ່າຍເງິນ,
ອັດ​ຕະ​ໂນ​ມັດ​ບັນ​ທຶກ​ມັນ​ຢູ່​ໃນ​ຂອງ​ທ່ານ​ CVS/ຮາກ ໄຟລ໌, ຫຼັງຈາກນັ້ນທ່ານຈໍາເປັນຕ້ອງໄດ້ກໍານົດໃຫ້ເຂົາເຈົ້າຢ່າງຊັດເຈນ
ໃນ​ສະ​ພາບ​ແວດ​ລ້ອມ​ຂອງ​ທ່ານ​. CVSROOT ຄວນຖືກຕັ້ງຕາມປົກກະຕິ, ແຕ່ໄດເລກະທໍລີຄວນ
ຊີ້ໃຫ້ເຫັນເຖິງ Git repo ທີ່ເຫມາະສົມ. ດັ່ງຂ້າງເທິງ, ສໍາລັບລູກຄ້າ SSH ບໍ່ ຈໍາກັດເພື່ອ
git-shell, CVS_SERVER ຄວນຖືກຕັ້ງເປັນ git-cvsserver.

ສົ່ງອອກ CVSROOT=:ext:user@server:/var/git/project.git
ສົ່ງອອກ CVS_SERVER="git cvsserver"

4. ສໍາລັບລູກຄ້າ SSH ທີ່ຈະເຮັດຄໍາຫມັ້ນສັນຍາ, ໃຫ້ແນ່ໃຈວ່າ server-side ຂອງເຂົາເຈົ້າ .ssh/environment
ໄຟລ໌ (ຫຼື .bashrc, ແລະອື່ນໆ, ອີງຕາມແກະສະເພາະຂອງມັນ) ສົ່ງອອກມູນຄ່າທີ່ເຫມາະສົມ
ສໍາລັບ GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, ແລະ GIT_COMMITTER_EMAIL.
ສໍາລັບລູກຄ້າ SSH ທີ່ມີ shell ເຂົ້າສູ່ລະບົບເປັນ bash, .bashrc ອາດຈະເປັນທາງເລືອກທີ່ສົມເຫດສົມຜົນ.

5. ໃນປັດຈຸບັນລູກຄ້າຄວນຈະສາມາດກວດສອບໂຄງການ. ໃຊ້ CVS ໂມດູນ ຊື່ໃຫ້
ຊີ້ບອກສິ່ງທີ່ Git ຫົວຫນ້າ ທ່ານຕ້ອງການກວດເບິ່ງອອກ. ນີ້ຍັງກໍານົດຊື່ຂອງໃຫມ່ຂອງທ່ານ
checked-out directory, ເວັ້ນເສຍແຕ່ວ່າທ່ານບອກມັນເປັນຢ່າງອື່ນດ້ວຍ -d . ຍົກ​ຕົວ​ຢ່າງ,
ນີ້ກວດເບິ່ງອອກ ຕົ້ນສະບັບ ສາ​ຂາ​ກັບ​ລະ​ບົບ​ແມ່​ບົດ​ໂຄງ​ການ​:

cvs co -d project-master master

DATABASE ຫລັງ


git-cvsserver ໃຊ້ຖານຂໍ້ມູນຫນຶ່ງຕໍ່ຫົວ Git (ເຊັ່ນ: ໂມດູນ CVS) ເພື່ອເກັບຮັກສາຂໍ້ມູນກ່ຽວກັບ
repository ເພື່ອຮັກສາຕົວເລກການດັດແກ້ CVS ທີ່ສອດຄ່ອງ. ຖານຂໍ້ມູນຈໍາເປັນຕ້ອງມີ
ປັບປຸງ (ເຊັ່ນ: ຂຽນໃສ່) ຫຼັງຈາກຄໍາຫມັ້ນສັນຍາທຸກຄັ້ງ.

ຖ້າຄໍາຫມັ້ນສັນຍາແມ່ນເຮັດໂດຍກົງໂດຍໃຊ້ git (ກົງກັນຂ້າມກັບການນໍາໃຊ້ git-cvsserver) ການ​ປັບ​ປຸງ​
ຈະຕ້ອງເກີດຂຶ້ນໃນການເຂົ້າເຖິງ repository ຕໍ່ໄປໂດຍ git-cvsserver, ເປັນເອກະລາດຂອງການເຂົ້າເຖິງ
ວິທີການແລະການດໍາເນີນງານທີ່ຮ້ອງຂໍ.

ນັ້ນຫມາຍຄວາມວ່າເຖິງແມ່ນວ່າທ່ານສະເຫນີການເຂົ້າເຖິງພຽງແຕ່ອ່ານ (ເຊັ່ນ: ໂດຍໃຊ້ວິທີການ pserver),
git-cvsserver ຄວນຈະມີການຂຽນເຂົ້າເຖິງຖານຂໍ້ມູນເພື່ອເຮັດວຽກທີ່ເຊື່ອຖືໄດ້ (ຖ້າບໍ່ດັ່ງນັ້ນທ່ານ
ຕ້ອງການໃຫ້ແນ່ໃຈວ່າຖານຂໍ້ມູນແມ່ນທັນສະໄຫມຕະຫຼອດເວລາ git-cvsserver ຖືກ​ປະ​ຕິ​ບັດ​)​.

ໂດຍຄ່າເລີ່ມຕົ້ນມັນໃຊ້ຖານຂໍ້ມູນ SQLite ໃນໄດເລກະທໍລີ Git, ຊື່
gitcvs. .sqlite. ໃຫ້ສັງເກດວ່າ backend SQLite ສ້າງໄຟລ໌ຊົ່ວຄາວໃນ
ໄດເລກະທໍລີດຽວກັນກັບໄຟລ໌ຖານຂໍ້ມູນກ່ຽວກັບການຂຽນດັ່ງນັ້ນມັນອາດຈະບໍ່ພຽງພໍທີ່ຈະໃຫ້ຜູ້ໃຊ້
ການນໍາໃຊ້ git-cvsserver ຂຽນເຂົ້າເຖິງໄຟລ໌ຖານຂໍ້ມູນໂດຍບໍ່ມີການອະນຸຍາດໃຫ້ພວກເຂົາເຂົ້າເຖິງການຂຽນ
ໄປຫາໄດເລກະທໍລີ, ເຊັ່ນກັນ.

ຖານຂໍ້ມູນບໍ່ສາມາດຖືກສ້າງໃຫມ່ຢ່າງຫນ້າເຊື່ອຖືໃນຮູບແບບທີ່ສອດຄ່ອງຫຼັງຈາກສາຂາທີ່ມັນແມ່ນ
ການຕິດຕາມມີການປ່ຽນແປງ. ຕົວຢ່າງ: ສໍາລັບສາຂາລວມ, git-cvsserver ພຽງແຕ່ຕິດຕາມສາຂາດຽວ
ການພັດທະນາ, ແລະຫຼັງຈາກ A ໄປ ລວມ ຖານຂໍ້ມູນການປັບປຸງທີ່ເພີ່ມຂຶ້ນອາດຈະຕິດຕາມ a
ສາຂາທີ່ແຕກຕ່າງກັນກ່ວາຖານຂໍ້ມູນທີ່ສ້າງຂຶ້ນໃຫມ່ຈາກ scratch, ເຊິ່ງກໍ່ໃຫ້ເກີດ CVS ບໍ່ສອດຄ່ອງ
ຕົວເລກການແກ້ໄຂ. git-cvsserver ບໍ່ມີທາງທີ່ຈະຮູ້ວ່າສາຂາໃດທີ່ມັນຈະເລືອກຖ້າ
ມັນໄດ້ຖືກດໍາເນີນການ incrementally pre-merge. ດັ່ງນັ້ນຖ້າຫາກວ່າທ່ານຕ້ອງຢ່າງເຕັມສ່ວນຫຼືບາງສ່ວນ (ຈາກເກົ່າ
backup) ສ້າງຖານຂໍ້ມູນຄືນໃຫມ່, ທ່ານຄວນສົງໃສວ່າ sandboxes CVS ທີ່ມີຢູ່ກ່ອນແລ້ວ.

ທ່ານສາມາດ configure backend ຖານຂໍ້ມູນດ້ວຍຕົວແປການຕັ້ງຄ່າຕໍ່ໄປນີ້:

ການກໍາຫນົດຄ່າ ຖານຂໍ້ມູນ backend
git-cvsserver ໃຊ້ໂມດູນ Perl DBI. ກະລຸນາອ່ານເອກະສານຂອງມັນຖ້າມີການປ່ຽນແປງ
ຕົວແປເຫຼົ່ານີ້, ໂດຍສະເພາະກ່ຽວກັບ DBI->connect().

gitcvs.dbName
ຊື່ຖານຂໍ້ມູນ. ຄວາມຫມາຍທີ່ແນ່ນອນແມ່ນຂຶ້ນກັບໄດເວີຖານຂໍ້ມູນທີ່ເລືອກ, ສໍາລັບ SQLite
ນີ້ແມ່ນຊື່ໄຟລ໌. ຮອງຮັບການປ່ຽນຕົວແປ (ເບິ່ງຂ້າງລຸ່ມນີ້). ອາດຈະບໍ່ມີ
semicolons (;). ຄ່າເລີ່ມຕົ້ນ: %Ggitcvs.%m.sqlite

gitcvs.dbDriver
ໃຊ້ໄດເວີ DBI. ທ່ານສາມາດລະບຸໄດເວີທີ່ມີຢູ່ສໍາລັບການນີ້, ແຕ່ມັນອາດຈະບໍ່ແມ່ນ
ເຮັດວຽກ. cvsserver ຖືກທົດສອບດ້ວຍ DBD::SQLite, ລາຍງານການເຮັດວຽກກັບ DBD::Pg, ແລະ
ລາຍງານ ບໍ່ ເຮັດວຽກຮ່ວມກັບ DBD::mysql. ກະລຸນາຖືວ່ານີ້ເປັນຄຸນສົມບັດທົດລອງ.
ອາດຈະບໍ່ມີຈໍ້າສອງເມັດ (:). ຄ່າເລີ່ມຕົ້ນ: SQLite

gitcvs.dbuser
ຜູ້ໃຊ້ຖານຂໍ້ມູນ. ມີປະໂຫຍດພຽງແຕ່ຖ້າຕັ້ງ dbDriver, ເພາະວ່າ SQLite ບໍ່ມີແນວຄວາມຄິດ
ຜູ້ໃຊ້ຖານຂໍ້ມູນ. ຮອງຮັບການປ່ຽນຕົວແປ (ເບິ່ງຂ້າງລຸ່ມນີ້).

gitcvs.dbPass
ລະຫັດຜ່ານຖານຂໍ້ມູນ. ມີປະໂຫຍດພຽງແຕ່ຖ້າຕັ້ງ dbDriver, ເພາະວ່າ SQLite ບໍ່ມີແນວຄວາມຄິດ
ລະຫັດຜ່ານຖານຂໍ້ມູນ.

gitcvs.dbTableNamePrefix
ຄໍານໍາຫນ້າຊື່ຕາຕະລາງຖານຂໍ້ມູນ. ຮອງຮັບການປ່ຽນຕົວແປ (ເບິ່ງຂ້າງລຸ່ມນີ້). ໃດ
ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວໜັງສືຈະຖືກແທນທີ່ດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ.

ຕົວແປທັງຫມົດຍັງສາມາດຖືກກໍານົດຕໍ່ວິທີການເຂົ້າເຖິງ, ເບິ່ງຂ້າງເທິງ.

ການປ່ຽນແປງ ການທົດແທນ
ໃນ dbDriver ແລະ dbUser ທ່ານສາມາດນໍາໃຊ້ຕົວແປດັ່ງຕໍ່ໄປນີ້:

%G
ຊື່ໄດເລກະທໍລີ Git

%g
ຊື່ໄດເລກະທໍລີ Git, ບ່ອນທີ່ຕົວອັກສອນທັງຫມົດຍົກເວັ້ນສໍາລັບຕົວເລກ alpha, ., ແລະ -
ຖືກແທນທີ່ດ້ວຍ _ (ອັນນີ້ຄວນເຮັດໃຫ້ມັນງ່າຍຕໍ່ການໃຊ້ຊື່ໄດເລກະທໍລີໃນ a
ຊື່​ໄຟລ​໌​ຖ້າ​ຫາກ​ວ່າ​ຕ້ອງ​ການ​)

%m
CVS module/Git head name

%a
ວິທີການເຂົ້າເຖິງ (ຫນຶ່ງໃນ "ext" ຫຼື "pserver")

%u
ຊື່ຜູ້ໃຊ້ທີ່ເຮັດວຽກ git-cvsserver. ຖ້າບໍ່ສາມາດກໍານົດຊື່, ຕົວເລກ
uid ຖືກນໍາໃຊ້.

ENVIRONMENT


ຕົວແປເຫຼົ່ານີ້ obviate ຄວາມຕ້ອງການທາງເລືອກເສັ້ນຄໍາສັ່ງໃນບາງສະຖານະການ, ອະນຸຍາດໃຫ້
ການນຳໃຊ້ທີ່ຈຳກັດງ່າຍຂຶ້ນຜ່ານ git-shell.

GIT_CVSSERVER_BASE_PATH ເອົາສະຖານທີ່ຂອງ argument ເປັນ --base-path.

GIT_CVSSERVER_ROOT ລະບຸບັນຊີຂາວບັນຊີດຽວ. ບ່ອນເກັບມ້ຽນຍັງຈະຕ້ອງຢູ່
ຕັ້ງຄ່າເພື່ອອະນຸຍາດໃຫ້ເຂົ້າເຖິງຜ່ານ git-cvsserver, ດັ່ງທີ່ໄດ້ອະທິບາຍຂ້າງເທິງ.

ເມື່ອຕົວແປສະພາບແວດລ້ອມເຫຼົ່ານີ້ຖືກຕັ້ງ, ການໂຕ້ຖຽງແຖວຄໍາສັ່ງທີ່ສອດຄ້ອງກັນອາດຈະບໍ່
ຖືກນໍາໃຊ້.

ECLIPSE CVS CUSTOMER ຫມາຍເຫດ


ເພື່ອໃຫ້ໄດ້ຮັບການຈ່າຍເງິນກັບລູກຄ້າ Eclipse CVS:

1. ເລືອກ "ສ້າງໂຄງການໃຫມ່ → ຈາກການກວດສອບ CVS"

2. ສ້າງສະຖານທີ່ໃຫມ່. ເບິ່ງບັນທຶກຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດກ່ຽວກັບວິທີການເລືອກທີ່ຖືກຕ້ອງ
protocol

3. ຄົ້ນຫາ ໂມດູນ ມີໃຫ້. ມັນຈະໃຫ້ທ່ານບັນຊີລາຍຊື່ຂອງຫົວຫນ້າໃນ repository ໄດ້.
ທ່ານຈະບໍ່ສາມາດຊອກຫາຕົ້ນໄມ້ຈາກບ່ອນນັ້ນໄດ້. ພຽງແຕ່ຫົວ.

4. ເອົາ HEAD ເມື່ອ​ມັນ​ຖາມ​ວ່າ​ສາ​ຂາ / tag ໃດ​ທີ່​ຈະ​ກວດ​ສອບ​ການ​ອອກ​. ຖອດລະຫັດ "ຕົວຊ່ວຍສ້າງການເປີດຕົວ"
ເພື່ອຫຼີກເວັ້ນການເຮັດໄຟລ໌ .project.

ບັນທຶກພິທີການ: ຖ້າທ່ານກໍາລັງໃຊ້ການເຂົ້າເຖິງທີ່ບໍ່ເປີດເຜີຍຊື່ຜ່ານ pserver, ພຽງແຕ່ເລືອກມັນ. ເຫຼົ່ານັ້ນ
ການນໍາໃຊ້ການເຂົ້າເຖິງ SSH ຄວນເລືອກ ext ພິທີການ, ແລະ configure ext ການເຂົ້າເຖິງກ່ຽວກັບການ
ການຕັ້ງຄ່າ → ທີມ → CVS → ExtConnection pane. ຕັ້ງ CVS_SERVER ເປັນ "git cvsserver". ໃຫ້ສັງເກດວ່າ
ການສະຫນັບສະຫນູນລະຫັດຜ່ານບໍ່ດີໃນເວລາທີ່ໃຊ້ ext, ທ່ານແນ່ນອນຈະຕ້ອງການທີ່ຈະມີກະແຈ SSH
ຕັ້ງ​ຄ່າ.

ອີກທາງເລືອກ, ທ່ານພຽງແຕ່ສາມາດໃຊ້ protocol extssh ທີ່ບໍ່ແມ່ນມາດຕະຖານທີ່ Eclipse ສະເຫນີ. ໃນ
ກໍລະນີນັ້ນ CVS_SERVER ແມ່ນຖືກລະເລີຍ, ແລະທ່ານຈະຕ້ອງປ່ຽນແທນຜົນປະໂຫຍດ cvs ໃນ
server ກັບ git-cvsserver ຫຼືຈັດການ .bashrc ຂອງເຈົ້າເພື່ອໂທຫາ cvs ໂທຫາປະສິດທິຜົນ
git-cvsserver.

ລູກຄ້າ ຮູ້ ເຖິງ WORK


· CVS 1.12.9 ໃນ Debian

· CVS 1.11.17 ໃນ MacOSX (ຈາກ Fink package)

· Eclipse 3.0, 3.1.2 ໃນ MacOSX (ເບິ່ງ Eclipse CVS Client Notes)

· TortoiseCVS

ວຽກງານຕ່າງໆ ສະ ໜັບ ສະ ໜູນ


ການ​ດໍາ​ເນີນ​ງານ​ທັງ​ຫມົດ​ທີ່​ຈໍາ​ເປັນ​ສໍາ​ລັບ​ການ​ນໍາ​ໃຊ້​ປົກ​ກະ​ຕິ​ແມ່ນ​ສະ​ຫນັບ​ສະ​ຫນູນ​, ລວມ​ທັງ​ການ​ຊໍາ​ລະ​ເງິນ​, ຄວາມ​ແຕກ​ຕ່າງ​,
ສະຖານະພາບ, ປັບປຸງ, ບັນທຶກ, ເພີ່ມ, ເອົາອອກ, ຫມັ້ນສັນຍາ.

ການໂຕ້ຖຽງຄໍາສັ່ງ CVS ສ່ວນໃຫຍ່ທີ່ອ່ານແທັກ CVS ຫຼືຕົວເລກການແກ້ໄຂ (ໂດຍປົກກະຕິ -r) ເຮັດວຽກ, ແລະ
ຍັງສະຫນັບສະຫນູນ git refspec ໃດໆ (tag, ສາຂາ, commit ID, ແລະອື່ນໆ). ຢ່າງໃດກໍຕາມ, ຕົວເລກການແກ້ໄຂ CVS
ສໍາລັບສາຂາທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ດີ, ແລະບັນທຶກ cvs ບໍ່ສະແດງ tags ຫຼືສາຂາ
ທັງໝົດ. (ຕົວເລກການແກ້ໄຂ CVS ທີ່ບໍ່ແມ່ນສາຂາຫຼັກ ມີລັກສະນະຄ້າຍຄືຕົວເລກການແກ້ໄຂ CVS,
ແຕ່ຕົວຈິງແລ້ວພວກເຂົາເຂົ້າລະຫັດ git commit ID ໂດຍກົງ, ແທນທີ່ຈະເປັນຕົວແທນຂອງຈໍານວນ
ການ​ປັບ​ປຸງ​ນັບ​ຕັ້ງ​ແຕ່​ຈຸດ​ສາ​ຂາ​.)

ໃຫ້ສັງເກດວ່າມີສອງວິທີທີ່ຈະຈ່າຍເງິນສາຂາໃດນຶ່ງ. ດັ່ງທີ່ໄດ້ອະທິບາຍຢູ່ບ່ອນອື່ນ
ຫນ້ານີ້, "ໂມດູນ" ພາລາມິເຕີຂອງການກວດສອບ cvs ຖືກຕີຄວາມຫມາຍເປັນຊື່ສາຂາ, ແລະມັນ
ກາຍ​ເປັນ​ສາ​ຂາ​ຕົ້ນ​ຕໍ​. ມັນຍັງຄົງເປັນສາຂາຕົ້ນຕໍສໍາລັບ sandbox ທີ່ມອບໃຫ້ເຖິງແມ່ນວ່າທ່ານ
ເຮັດໃຫ້ສາຂາອື່ນຕິດຊົ່ວຄາວກັບ cvs update -r. ອີກທາງເລືອກ, ການໂຕ້ຖຽງ -r
ສາມາດຊີ້ບອກສາຂາອື່ນເພື່ອຈ່າຍເງິນຕົວຈິງ, ເຖິງແມ່ນວ່າໂມດູນແມ່ນຍັງຢູ່
ສາຂາ "ຕົ້ນຕໍ". Tradeoffs (ຕາມທີ່ປະຕິບັດໃນປັດຈຸບັນ): ແຕ່ລະ "ໂມດູນ" ໃຫມ່ສ້າງໃຫມ່
ຖານ​ຂໍ້​ມູນ​ໃນ​ແຜ່ນ​ທີ່​ມີ​ປະ​ຫວັດ​ສາດ​ສໍາ​ລັບ​ໂມ​ດູນ​ທີ່​ໄດ້​ຮັບ​, ແລະ​ຫຼັງ​ຈາກ​ການ​ສ້າງ​ຖານ​ຂໍ້​ມູນ​,
ການດໍາເນີນງານຕໍ່ກັບສາຂາຕົ້ນຕໍນັ້ນແມ່ນໄວ. ຫຼືອີກທາງເລືອກ, -r ບໍ່ໄດ້ເອົາຫຍັງເພີ່ມເຕີມ
ພື້ນທີ່ດິສກ໌, ແຕ່ອາດຈະຊ້າລົງຢ່າງຫຼວງຫຼາຍສໍາລັບການດໍາເນີນການຈໍານວນຫຼາຍ, ເຊັ່ນ: ການປັບປຸງ cvs.

ຖ້າທ່ານຕ້ອງການອ້າງອີງເຖິງ git refspec ທີ່ມີຕົວອັກສອນທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດໂດຍ CVS, ທ່ານ
ມີສອງທາງເລືອກ. ຫນ້າທໍາອິດ, ມັນອາດຈະເຮັດວຽກພຽງແຕ່ສະຫນອງ git refspec ໂດຍກົງກັບ
ການໂຕ້ຖຽງ CVS -r ທີ່ເຫມາະສົມ; ບາງລູກຄ້າ CVS ເບິ່ງຄືວ່າບໍ່ໄດ້ເຮັດການກວດສອບສຸຂະພາບຫຼາຍ
ການໂຕ້ຖຽງ. ອັນທີສອງ, ຖ້າມັນລົ້ມເຫລວ, ທ່ານສາມາດນໍາໃຊ້ກົນໄກການຫລົບຫນີລັກສະນະພິເສດທີ່
ໃຊ້ພຽງແຕ່ຕົວອັກສອນທີ່ຖືກຕ້ອງໃນແທັກ CVS. ລໍາດັບຂອງ 4 ຫຼື 5 ຕົວອັກສອນຂອງ
ແບບຟອມ (underscore ("_"), dash ("-"), ຫນຶ່ງຫຼືສອງຕົວອັກສອນ, ແລະ dash ("-")) ສາມາດເຂົ້າລະຫັດໄດ້.
ຕົວອັກສອນຕ່າງໆໂດຍອີງໃສ່ຫນຶ່ງຫຼືສອງຕົວອັກສອນ: "s" ສໍາລັບ slash ("/"), "p" ສໍາລັບໄລຍະເວລາ
("."), "u" ສໍາລັບ underscore ("_"), ຫຼືສອງຕົວເລກ hexadecimal ສໍາລັບຄ່າ byte ທັງຫມົດ.
(ໂດຍປົກກະຕິເປັນຕົວເລກ ASCII, ຫຼືບາງທີສ່ວນຂອງຕົວອັກສອນທີ່ເຂົ້າລະຫັດ UTF-8).

ບໍ່ຮອງຮັບການປະຕິບັດການຕິດຕາມແບບເກົ່າ (ດັດແກ້, ເບິ່ງ ແລະທີ່ກ່ຽວຂ້ອງ). ການສົ່ງອອກ ແລະ
ການຕິດແທັກ (ແທັກ ແລະສາຂາ) ແມ່ນບໍ່ຮອງຮັບໃນຂັ້ນຕອນນີ້.

CRLF ອອນໄລນ໌ ສິ້ນສຸດ ການປ່ຽນແປງ
ໂດຍຄ່າເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍອອກຈາກ -k mode blank ສໍາລັບໄຟລ໌ທັງຫມົດ, ເຊິ່ງເຮັດໃຫ້ລູກຄ້າ CVS
ເພື່ອປະຕິບັດພວກມັນເປັນໄຟລ໌ຂໍ້ຄວາມ, ຂຶ້ນກັບການແປງເສັ້ນສິ້ນສຸດໃນບາງເວທີ.

ເຈົ້າສາມາດເຮັດໃຫ້ເຊີບເວີໃຊ້ຄຸນລັກສະນະການແປງຈຸດສິ້ນສຸດເພື່ອຕັ້ງຄ່າ -k ໂຫມດສໍາລັບ
ໄຟລ໌ໂດຍການຕັ້ງຄ່າ gitcvs.usecrlfattr config variable. ເບິ່ງ gitattributes(5) ສໍາລັບການເພີ່ມເຕີມ
ຂໍ້ມູນກ່ຽວກັບການປ່ຽນເສັ້ນທາງສິ້ນສຸດ.

ອີກທາງເລືອກ, ຖ້າ gitcvs.usecrlfattr config ບໍ່ໄດ້ເປີດໃຊ້ຫຼືຄຸນລັກສະນະບໍ່ອະນຸຍາດໃຫ້.
ການກວດສອບອັດຕະໂນມັດສໍາລັບຊື່ໄຟລ໌, ຫຼັງຈາກນັ້ນເຄື່ອງແມ່ຂ່າຍໃຊ້ gitcvs.allBinary config ສໍາລັບ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນ. ຖ້າ gitcvs.allBinary ຖືກຕັ້ງ, ຫຼັງຈາກນັ້ນໄຟລ໌ທີ່ບໍ່ໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນຈະ
ເລີ່ມຕົ້ນເປັນ -kb ໂໝດ. ຖ້າບໍ່ດັ່ງນັ້ນ -k ໂໝດຖືກປະໄວ້ຫວ່າງເປົ່າ. ແຕ່ຖ້າ gitcvs.allBinary ຖືກກໍານົດ
ກັບ "ຮີດ", ຫຼັງຈາກນັ້ນຖືກຕ້ອງ -k ຮູບແບບຈະຖືກຄາດເດົາໂດຍອີງໃສ່ເນື້ອໃນຂອງໄຟລ໌.

ສໍາລັບຄວາມສອດຄ່ອງທີ່ດີທີ່ສຸດກັບ cvs, ມັນອາດຈະເປັນທີ່ດີທີ່ສຸດທີ່ຈະ override ຄ່າເລີ່ມຕົ້ນໂດຍການຕັ້ງຄ່າ
gitcvs.usecrlfattr ກັບ true, ແລະ gitcvs.allBinary ກັບ "ເດົາ".

ຂຶ້ນກັບ


git-cvsserver ຂຶ້ນກັບ DBD::SQLite.

GIT


ສ່ວນຫນຶ່ງຂອງ ໄປ(1) ຊຸດ

ໃຊ້ git-cvsserver ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌