Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on CVS, RCS, rsync and friends. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/cvs.e> # or at <http://angg.twu.net/e/cvs.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.cvs_client» (to "cvs_client") # «.rsync» (to "rsync") # «.rsync_debian-test» (to "rsync_debian-test") # «.rsync_server» (to "rsync_server") # «.rsync_over_ssh» (to "rsync_over_ssh") # «.rsync-aidalgol» (to "rsync-aidalgol") # «.rsync_angg_slow_html» (to "rsync_angg_slow_html") # «.rsync-backup-2022» (to "rsync-backup-2022") # «.rsync-backup-2024» (to "rsync-backup-2024") # «.tar-backup-2023» (to "tar-backup-2023") # «.rsync-backup-2024» (to "rsync-backup-2024") # «.dired-rsync» (to "dired-rsync") # «.start-stop-daemon» (to "start-stop-daemon") # «.wanna-build» (to "wanna-build") # «.svnbook» (to "svnbook") # «.svn» (to "svn") # «.svn-branches» (to "svn-branches") # «.svn-rubikitch» (to "svn-rubikitch") # «.cvs-old-versions» (to "cvs-old-versions") # «.psvn.el» (to "psvn.el") # «.cvs-book» (to "cvs-book") # «.silas-tutorial» (to "silas-tutorial") # «.darcs» (to "darcs") # «.viewvc» (to "viewvc") # «.understanding-merging» (to "understanding-merging") # «.update-dP» (to "update-dP") # «.cvspass» (to "cvspass") # «.fossil» (to "fossil") # «.git-shallow-clone» (to "git-shallow-clone") # «.git-plumbing» (to "git-plumbing") # «.git-config» (to "git-config") # «.gitk» (to "gitk") # «.git» (to "git") # «.git.el» (to "git.el") # «.github-repo-create» (to "github-repo-create") # «.github-repo-setup» (to "github-repo-setup") # «.mercurial» (to "mercurial") # «.bot-ocaml» (to "bot-ocaml") # «.bzr» (to "bzr") # «.bzr-test» (to "bzr-test") # «.emacs-from-bzr» (to "emacs-from-bzr") # (find-es "git") # (find-es "fossil") # (find-esfile "rsync.e") ##### # # Downloading a package that exists only in CVS form # 2000aug01 # ##### # «cvs_client» (to ".cvs_client") #* rm -Rv ~/tmp/cvs/ mkdir ~/tmp/cvs/ cd ~/tmp/cvs/ # (find-node "(grub)Obtaining and Building GRUB") export CVSROOT=:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot cvs login cvs checkout grub # (find-fline "~/tmp/cvs/grub/") # (find-fline "~/tmp/cvs/grub/CVS/") #* cd $S/http/www.gnu.org/ agrep -i cvs $(find *) # (find-shttpw3 "www.gnu.org/server/standards/README.cvs.html") # (find-shttpw3 "www.gnu.org/software/gnugo/devel.html") # (find-shttpw3 "www.gnu.org/software/devel.html") lynx http://www.gnu.org/software/devel.html CVSROOT=:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot ##### # # mod_virgule # 2000sep08 # ##### # http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=mod_virgule # (find-shttpw3 "developer.gnome.org/tools/cvs.html") rm -Rv ~/tmp/cvs/mod_virgule mkdir ~/tmp/cvs/mod_virgule cd ~/tmp/cvs/ export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome cvs login cvs -z9 checkout mod_virgule rm -Rv ~/tmp/cvs/ mkdir ~/tmp/cvs/ cd ~/tmp/cvs/ # (find-node "(grub)Obtaining and Building GRUB") export CVSROOT=:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot cvs login cvs checkout grub # (find-status "cvs-buildpackage") # (find-vldifile "cvs-buildpackage.list") # (find-fline "/usr/doc/cvs-buildpackage/") ##### # # rsync # 2000oct06 / 2021aug21 # ##### # «rsync» (to ".rsync") # (find-status "rsync") # (find-vldifile "rsync.list") # (find-udfile "rsync/") # (find-udfile "rsync/README.gz") # (find-zsh "installeddebs | sort | grep rsync") # (find-zsh "availabledebs | sort | grep rsync") # (find-man "1 rsync") # (find-man "1 rsync" "--archive, -a") # (find-man "1 rsync" "--verbose, -v") # (find-man "1 rsync" "--compress, -z") # (find-man "1 rsync" "--progress") # (find-man "1 rsync" "--ignore-times, -I") # (find-man "5 rsyncd.conf") # (find-man "5 rsyncd.conf") # (find-man "5 rsyncd.conf" "When run via inetd") # (find-fline "/etc/services" "rsync") # (find-fline "/etc/inetd.conf" "rsync") # «rsync_debian-test» (to ".rsync_debian-test") # (find-status "debian-test") # (find-vldifile "debian-test.list") # (find-fline "/usr/doc/debian-test/") # (find-fline "/usr/doc/debian-test/README") # (eeman "1 debian-test") # (find-fline "/usr/lib/debian-test/tests/rsync") #* debian-test -v rsync |& tee /tmp/odtr # (find-fline "/tmp/odtr") #* ##### # # rsync server # 2000dec17 # ##### # «rsync_server» (to ".rsync_server") #* cd /tmp/ rm -Rv /tmp/from/ mkdir /tmp/from/ rsync --help > /tmp/from/rsync-opts laf /tmp/from/ # (eeman "5 rsyncd.conf") cat > rsyncd.conf <<'%%%' pidfile = /tmp/rsyncd.pid [from] path = /tmp/from/ comment = test area %%% start-stop-daemon -S --exec /usr/bin/rsync \ -- --daemon --config=/tmp/rsyncd.conf #* # (find-fline "/etc/services" "rsync") ps ax | grep rsync lsof | egrep 'COMMAND|rsync' # and "*:rsync" means 873... grep rsync /etc/services #* rm -Rv /tmp/to/ mkdir /tmp/to/ cd /tmp/to/ # (eeman "1 rsync") # (eeman "1 rsync" "CONNECTING TO AN RSYNC SERVER") # (find-fline "/usr/doc/rsync/README.gz") # (find-fline "/tmp/from/rsync-opts") # rsync -avvvvz rsync://127.0.0.1/from/ . rsync 127.0.0.1:: rsync -avz rsync://127.0.0.1/from/ . laf #* start-stop-daemon -K --pidfile /tmp/rsyncd.pid #sleep 1 ps ax | grep rsync #* ##### # # rsync over ssh # 2001nov05 / 2023oct03 # ##### # «rsync_over_ssh» (to ".rsync_over_ssh") # (find-man "1 rsync" "-e, --rsh=COMMAND\n") # (find-man "1 rsync" "-e" "ssh -l ssh-user") # (find-man "1 ssh" "-p port") # Old: #* cp -v $S/ftp/ftp.debian.org/debian/pool/main/g/gcc-2.95/g++-2.95_2.95.4-0.010810_hurd-i386.deb /tmp/ cd /tmp/ rsync -e ssh -v -v -v -v edrx@sucuri:snarf/ftp/ftp.debian.org/debian/pool/main/g/gcc-2.95/g++-2.95_2.95.4-0.010810_hurd-i386.deb g++-2.95_2.95.4-0.010810_hurd-i386.deb #* ##### # # rsync-aidalgol # 2021feb04 # ##### # «rsync-aidalgol» (to ".rsync-aidalgol") # (find-fline "~/LOGS/2021feb03.emacs") # (find-fline "~/LOGS/2021feb03.emacs" "edrx: Use rsync") rm -Rv ~/usrc/angg-repo/ mkdir ~/usrc/angg-repo/ cd ~/usrc/angg-repo/ rsync -v -v -v --human-readable --progress \ --relative --whole-file \ --include-from=/tmp/.files- \ ~/ ~/usrc/angg-repo/ # (find-fline "~/usrc/angg-repo/") # (find-fline "/tmp/.files-") # (find-man "1 rsync") # (find-man "1 rsync" "--inplace") # (find-man "1 rsync" "--progress") # (find-man "1 rsync" "--human-readable, -h") # (find-man "1 rsync" "--whole-file, -W") # (find-man "1 rsync" "--relative, -R") # (find-man "1 rsync" "--recursive, -r") # (find-fline "~/usrc/angg-repo/") run before trying them for real): rsync --human-readable --progress --include-from="$HOME/.files" "$HOME" "$HOME/usrc/angg-fossil-repo" <aidalgol> edrx: Here are two options (both untested, so do a dry run before trying them for real): rsync --human-readable --progress --include-from="$HOME/.files" "$HOME" "$HOME/usrc/angg-fossil-repo" <aidalgol> Or: xargs -I '{}' -- cp -v --parents --update '{}' ~/usrc/angg-fossil-repo/ < ~/.files <aidalgol> edrx: Here are two options (both untested, so do a dry run before trying them for real): rsync --human-readable --progress --include-from="$HOME/.files" "$HOME" "$HOME/usrc/angg-fossil-repo" # (find-es "cvs" "rsync") # (find-man "1 rsync") # (find-man "1 rsync" "--files-from=FILE") # (find-man "1 rsync" "-u, --update") # (find-man "1 rsync" "-v, --verbose") # (find-man "1 rsync" "-a, --archive") <aidalgol> edrx: Use rsync with --include-from= <edrx> I need to split that into several "cp"s, and I can't find in the docs of xargs an option that would let me add the target directory, ~/usrc/angg-fossil-repo/, at the end of the command. <aidalgol> Normally you'd solve this with xargs, but in this case there's a better tool for the job. <aidalgol> edrx: I *highly* recommend rsync over cp via xargs in this case. <grym> every once in a while i toy with `alias cp="rsync -ah --inplace --no-whole-file --info=progress2"` <aidalgol> It's not only for remote copying. <aidalgol> grym: wth does --inplace do? <aidalgol> Is there an ivy replacement/integration for M-/ ? <aidalgol> `dabbrev-expand' Buggy: /home/edrx/e(edrx:sc)# /home/edrx/e(edrx:sc)# cat ~/.files \ > | head -n 25 \ > | grep -v / \ > | tee /tmp/.files- .SciTEUser.properties .Xdefaults .asoundrc .bashrc .cshrc .emacs .emacs-tex.el .emacs.audios .emacs.custom .emacs.local.bsd .emacs.local.debian .emacs.local.w32 .emacs.mini .emacs.papers .emacs.templates .emacs.u8 .emacs.videos .files /home/edrx/e(edrx:sc)# /home/edrx/e(edrx:sc)# rm -Rv ~/usrc/angg-repo/ removed directory '/home/edrx/usrc/angg-repo/' /home/edrx/e(edrx:sc)# mkdir ~/usrc/angg-repo/ /home/edrx/e(edrx:sc)# cd ~/usrc/angg-repo/ /home/edrx/usrc/angg-repo(edrx:sc)# /home/edrx/usrc/angg-repo(edrx:sc)# rsync -v -v -v --human-readable --progress \ > --relative --whole-file \ > --include-from=/tmp/.files- \ > ~/ ~/usrc/angg-repo/ skipping directory /home/edrx send_file_list done send_files starting server_recv(2) starting pid=5587 received 0 names recv_file_list done get_local_name count=0 /home/edrx/usrc/angg-repo/ generator starting pid=5587 delta-transmission disabled for local transfer or --whole-file generate_files phase=1 send_files phase=1 recv_files(0) starting recv_files phase=1 generate_files phase=2 send_files phase=2 send files finished total: matches=0 hash_hits=0 false_alarms=0 data=0 recv_files phase=2 recv_files finished generate_files phase=3 generate_files finished sent 16 bytes received 351 bytes 734.00 bytes/sec total size is 0 speedup is 0.00 [sender] _exit_cleanup(code=0, file=main.c, line=1207): about to call exit(0) <aidalgol> edrx: Try the rsync command invocation I gave you. I strongly suspect you don't want --relative or --whole-file ##### # # rsync_angg_slow_html # 2021dec13 # ##### # «rsync_angg_slow_html» (to ".rsync_angg_slow_html") # (find-fline "/home/angg_slow_html/") /home/angg_slow_html/ * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) ~/EXPECT/autopasswd \ rsync -avvz -e ssh \ 'edrx@angg.twu.net:slow_html/*' \ /home/angg_slow_html/ rsync -avvz -e ssh \ 'edrx@anggtwu.net:slow_html/*' \ /home/angg_slow_html/ * (eepitch-Twu) * (eepitch-kill) * (eepitch-Twu) ##### # # rsync-backup-2022 # 2022sep08 / 2024jun16 # ##### # «rsync-backup-2022» (to ".rsync-backup-2022") # «rsync-backup-2024» (to ".rsync-backup-2024") # (find-es "rsync" "backup-2024") # (find-sh "cd; du -ch $(cat /tmp/od)") # (find-sh "du -ch /tmp/sgexpansion1/backup-2022/") # (find-sh "cd; 'ls' -d * | cat | sort") # (find-sh "cd; 'ls' -d * | cat | sort | tee /tmp/od0") # (find-fline "/tmp/od0") # (find-fline "/tmp/odu") # (find-fline "/tmp/oduca") # (find-fline "/tmp/oduco") # ^ delete: bigsrc, usrc, snarf, SQUEAK # ~/.emacs-doom.d/, ~/.cache/, .config # (find-angggrep "grep --color=auto -nH --null -e '\\.config' *.e") * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) cd; du -ch | tee /tmp/odu cd; sudo du -c --summarize .* * | sort -n | tee /tmp/odu cd; sudo du -c --max-depth=1 .cache | sort -n | tee /tmp/oduca cd; sudo du -c --max-depth=1 .config | sort -n | tee /tmp/oduco * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) cd BIG=( .cabal .cache .elan .emacs-doom.d .ghcup .gradle .julia .opam .stack .texlive* SQUEAK bigsrc snarf usrc ) for i in .* *; do echo $i; done | sort | uniq | tee /tmp/oall for i in $BIG; do echo $i; done | sort | uniq | tee /tmp/obig # (find-sh "comm /tmp/oall /tmp/obig") # (find-sh "comm -23 /tmp/oall /tmp/obig") comm -23 /tmp/oall /tmp/obig | tee /tmp/osmall cd; sudo du -c --summarize $(cat /tmp/osmall) | sort -n cd; sudo du -ch --summarize $(cat /tmp/osmall) # «tar-backup-2023» (to ".tar-backup-2023") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/.cache/ du -ch --summarize * du -c --summarize * | sort -n rm -Rfv ~/.cache/mathlib/ cd; sudo find $(cat /tmp/osmall) | sort \ > /sda1/tmp/backup-2023aug05.files # (find-fline "/sda1/tmp/backup-2023aug05.files") cd; sudo tar -cvf /sda1/tmp/backup-2023aug05.tar $(cat /tmp/osmall) cd /sda1/tmp/; sudo md5sum backup-2023aug05.tar \ > backup-2023aug05.md5sum # (find-es "hd" "seagate-goflex") # (find-fline "/tmp/goflex2/") sudo cp -v /sda1/tmp/backup-2023aug05.* /tmp/goflex2/ # «rsync-backup-2024» (to ".rsync-backup-2024") # (find-fline "/tmp/" "osmall") # (find-fline "/tmp/osmall") * (eepitch-shell3) * (eepitch-kill) * (eepitch-shell3) sudo umount /dev/sdb1 sudo fsck /dev/sdb1 mkdir /tmp/sgexpansion1/ sudo mount /dev/sdb1 /tmp/sgexpansion1/ # (find-fline "/tmp/sgexpansion1/") # sudo rm -Rf /tmp/sgexpansion1/edrx/ # sudo rm -Rf /tmp/sgexpansion1/backup-2022/ mkdire /tmp/sgexpansion1/backup-2024/ cd sudo nice rsync -avz $(cat /tmp/osmall) /tmp/sgexpansion1/backup-2024/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # du -c ~/ | sort -n | tee /tmp/odu du -ch $(cat /tmp/od) | sort -n | tee /tmp/odu * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd rsync -avvz $(cat /tmp/od0) /tmp/sgexpansion1/backup-2022/ find $(cat /tmp/od) | wc # (find-fline "/tmp/sgexpansion1/backup-2022/") ##### # # rsync server - misc notes # ##### #* # (find-fline "/tmp/from/rsync-opts") cd /tmp/to/ rsync -e ssh -avvvz 127.0.0.1::from . laf #* # Argh, I did something silly when testing by hand and /tmp's # permissions became 0755... laf -d /tmp /hdd2/tmp chmod -v --reference=/hdd2/tmp /hdd2/tmp chmod -v --reference=/tmp /tmp # (find-node "(fileutils)Numeric Modes") #chmod 1777 /tmp; laf -d /tmp /hdd2/tmp #* cd /tmp/to/ echo hello > hello # Not that I would need that, but shouldn't this rsync call upload "hello"? rsync -avz . 127.0.0.1::from laf laf /tmp/from/ #* ##### # # rsh (for rsync; not used) # 2001jul13 # ##### # (find-status "rsh-client") # (find-vldifile "rsh-client.list") # (find-fline "/usr/doc/rsh-client/") # (eeman "1 rsh") # (eeman "1 rcp") # (find-status "rsh-server") # (find-vldifile "rsh-server.list") # (find-fline "/usr/doc/rsh-server/") ##### # # dired-rsync # 2022aug02 # ##### # «dired-rsync» (to ".dired-rsync") # http://yitang.uk/2022/07/31/mle-copy-files-to-local-machine/ ##### # # start-stop-daemon # 2000dec17 # ##### # «start-stop-daemon» (to ".start-stop-daemon") cd /etc/init.d/ mycat $(agrep -l daemon *) | l +/start-stop-daemon # (eeman "8 start-stop-daemon") # (find-fline "/etc/init.d/") # «update-inetd» #* cd /var/lib/dpkg/info/ agrep update-inetd * | tee ~/o # (find-fline "~/o") #* # (eeman "8 update-inetd") # (eeman "8 update-inetd" "You +just +finished +writing +a +POP3 +server") # (find-man "8 update-inetd") ##### # # wanna-build, rbuild # 2001aug13 # ##### # «wanna-build» (to ".wanna-build") # (find-shttpw3 "cvs.debian.org/") # not working, I'm getting "rejected access" #* rm -Rv /tmp/wanna-build/ mkdir /tmp/wanna-build/ cd /tmp/wanna-build/ # (find-node "(grub)Obtaining and Building GRUB") export CVSROOT=:pserver:anonymous@cvs.debian.org:/cvs/wanna-build cvs login cvs checkout wanna-build #* # (find-efile "") # (find-evariable 'version-control) #* e20glimpse version-control | l -S #* ##### # # subversion book (HTML and PDF) # 2007apr12 # ##### # «svnbook» (to ".svnbook") # http://svnbook.red-bean.com/en/1.2/svn-book.pdf # http://svnbook.red-bean.com/en/1.2/svn-book-html-chunk.tar.bz2 # http://subversion.tigris.org/files/documents/15/177/svn-ref.ps #* rm -Rv ~/usrc/svn-book-html-chunk/ tar -C ~/usrc/ -xvjf \ $S/http/svnbook.red-bean.com/en/1.2/svn-book-html-chunk.tar.bz2 cd ~/usrc/svn-book-html-chunk/ #* # (code-c-d "svnbook" "~/usrc/svn-book-html-chunk/") # (find-svnbookfile "") # (find-svnbookw3m "index.html") # (find-svnbookw3m "svn.serverconfig.netmodel.html" "~/.subversion/auth/") # (find-fline "~/.subversion/auth/") # (code-ps "svnbook" "$S/http/svnbook.red-bean.com/en/1.2/svn-book.pdf") # (find-svnbookpage 4) ##### # # subversion # 2007apr11 / 2019feb04 # ##### # «svn» (to ".svn") # (find-zsh "installeddebs | sort | grep svn") # (find-zsh "availabledebs | sort | grep svn") # (find-zsh "installeddebs | sort | grep subversion") # (find-zsh "availabledebs | sort | grep subversion") # (find-status "subversion") # (find-vldifile "subversion.list") # (find-udfile "subversion/") # (find-status "subversion-tools") # (find-vldifile "subversion-tools.list") # (find-udfile "subversion-tools/") # http://subversion.tigris.org # (find-man "1 svndumpfilter") # (find-man "1 svnlook") # (find-man "1 svnsync") # (find-man "1 svnversion") # (find-man "1 svn") # (find-man "1 svnadmin") # (find-man "5 svnserve.conf") # (find-man "8 svnserve") # (find-fline "/usr/share/emacs/site-lisp/psvn.el") # (find-udfile "subversion/HACKING") # (find-udfile "subversion/README") # (find-udfile "subversion/README.Debian") # (find-udfile "subversion/copyright") # (find-udfile "subversion/examples/gnuify-changelog.pl.gz") # (find-udfile "subversion/NEWS.Debian.gz") # (find-udfile "subversion/changelog.gz") # (find-udfile "subversion/changelog.Debian.gz") # (find-sh "svn help") # (find-sh "svn help checkout") # http://subversion.tigris.org/faq.html * (eepitch-shell) rm -Rv /tmp/testsvn mkdir /tmp/testsvn cd /tmp/testsvn svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/todo svn checkout --username edrx.dig \ http://svn.prv.digirati.com.br/repos/adm/trunk/todo * (eechannel-xterm "A") rm -Rv /tmp/testsvn mkdir /tmp/testsvn cd /tmp/testsvn svn checkout --username edrx.dig \ http://svn.prv.digirati.com.br/repos/adm/trunk/todo $ cd ~; mkdir -p svn/adm $ cd svn/adm $ svn checkout http://svn.prv.digirati.com.br/repos/adm Para checkout somente um módulo, lembrar do trunk na URI. Exemplo para o módulo machines: $ svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/machines inteiro: $ svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/machines $ svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/todo $ svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/todo (/web /bak <-) $ svn checkout http://svn.prv.digirati.com.br/repos/adm/trunk/task ##### # # svn branches # 2007may04 # ##### # «svn-branches» (to ".svn-branches") # (find-svnbookpage 4) # (find-svnbookpage (+ 17 44)) # (find-svnbooktext "Chapter 4. Branching and Merging") ##### # # subversion (rubikitch) # 2007apr11 # ##### # «svn-rubikitch» (to ".svn-rubikitch") # http://lists.gnu.org/archive/html/eev/2006-01/msg00005.html # http://article.gmane.org/gmane.emacs.eev.devel/41 ##### # # cvs - downloading an old version # 2005oct01 # ##### # «cvs-old-versions» (to ".cvs-old-versions") # (find-node "(cvs)Top") # http://savannah.nongnu.org/cgi-bin/viewcvs/rcirc/rcirc/rcirc.el <kensanata> maybe 1.248= <kensanata> eh, i mean maybe 1.248 introduced the bug, so try 1.247 to make sure? ##### # # psvn.el # 2007may02 # ##### # «psvn.el» (to ".psvn.el") # (find-vldifile "subversion.list") # (find-fline "/usr/share/emacs/site-lisp/psvn.el") # (svn-status "~/svn/adm/todo/bak/srv/") # (find-node "(pcl-cvs)Top") # http://www.gnu.org/software/emacs/manual/html_node/pcl-cvs/index.html ##### # # cvs book # 2008jan04 # ##### # «cvs-book» (to ".cvs-book") # http://cvsbook.red-bean.com/cvsbook.html # http://cvsbook.red-bean.com/cvsbook.ps.gz # (find-node "(cvs)Top") ##### # # silas's tutorial notes # 2008jan04 # ##### # «silas-tutorial» (to ".silas-tutorial") # (find-zumbihomefile "silas/public_html/_/tmp/setting_up_cvs") # (find-node "(cvs)Adding files") # (find-node "(cvs)Index") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rfv /home/edrx/cvs export CVSROOT=/home/edrx/cvs cvs -d /home/edrx/cvs init rm -Rv /tmp/foo/ mkdir /tmp/foo/ cd /tmp/foo/ cvs import -m "Log Message" project_name_in_cvs/ vendortag releasetag cvs checkout project_name_in_cvs/ cd /tmp/foo/project_name_in_cvs/ echo Foo > filename cvs add filename cvs commit -m "commentary for changelog" filename cvs commit -m "commentary for changelog, 2" filename echo Bar > filename cvs commit -m "commentary for changelog, 3" filename cvs add filename mkdir /tmp/foo/project_name_in_cvs/directory/ cvs add directory/ cd /tmp/foo/project_name_in_cvs/directory/ echo Bletch > file cvs add file cvs commit -m " file in subdirectory" file cd .. rm -Rv /tmp/foo2/ mkdir /tmp/foo2/ cd /tmp/foo2/ export CVSROOT=/home/edrx/cvs cvs checkout project_name_in_cvs/ # (find-fline "/home/edrx/cvs") # (find-fline "/tmp/foo/project_name_in_cvs/") # (find-fline "/tmp/foo2/project_name_in_cvs/") # (find-node "(cvs)Adding files") # (find-node "(cvs)Assigning revisions") ##### # # darcs # 2008feb18 # ##### # «darcs» (to ".darcs") # (find-status "darcs") # (find-vldifile "darcs.list") # (find-udfile "darcs/") # (find-man "1 darcs") # (find-udw3m "darcs/manual/darcs.html") # (find-udw3m "darcs/manual/index.html") # (find-udw3m "darcs/manual/index.html#x1-210001.2") ##### # # viewvc # 2008feb20 # ##### # «viewvc» (to ".viewvc") # http://cvs.savannah.gnu.org/viewvc/emacs/emacs/lisp/version.el # http://viewvc.tigris.org/ # http://viewvc.tigris.org/files/documents/3330/37319/viewvc-1.0.4.tar.gz #* rm -Rv ~/usrc/viewvc-1.0.4/ tar -C ~/usrc/ -xvzf \ $S/http/viewvc.tigris.org/files/documents/3330/37319/viewvc-1.0.4.tar.gz cd ~/usrc/viewvc-1.0.4/ #* # (code-c-d "viewvc" "~/usrc/viewvc-1.0.4/") # (find-viewvcfile "") # (find-viewvcfile "INSTALL" "tiny ViewVC server") ##### # # understanding branches and merging # 2008feb20 # ##### # «understanding-merging» (to ".understanding-merging") # http://www.emacswiki.org/cgi-bin/wiki/EmacsCVSFeatures # http://cvs.savannah.gnu.org/viewvc/emacs/emacs/lisp/version.el # (find-node "(cvs)Branching and merging") # (find-node "(cvs)Common options" "`-D DATE_SPEC'") ##### # # update -dP # 2008jun10 # ##### # «update-dP» (to ".update-dP") # http://article.gmane.org/gmane.emacs.devel/98639 # (find-node "(cvs)update options" "`-P'") # (find-node "(cvs)Updating a file" "`cvs update -d'") ##### # # cvspass # 2010aug13 # ##### # «cvspass» (to ".cvspass") cvs -z9 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs co emacs \ 2>&1 | tee ocvs cvs checkout: CVS password file /home/edrx/.cvspass does not exist - creating a new file cvs checkout: Updating emacs # (find-man "1 cvs") ##### # # Fossil # 2011jan19 # ##### # «fossil» (to ".fossil") # (find-es "fortho" "retro-2011") # «git-shallow-clone» (to ".git-shallow-clone") # (find-es "git" "git-shallow-clone") # «git-plumbing» (to ".git-plumbing") # (find-es "git" "git-plumbing") # «git-config» (to ".git-config") # (find-es "git" "git-config") # «gitk» (to ".gitk") # (find-es "git" "gitk") # «git» (to ".git") # (find-es "git" "git") # «git.el» (to ".git.el") # (find-es "git" "git.el") # «github-repo-create» (to ".github-repo-create") # (find-es "git" "github-repo-create") # «github-repo-setup» (to ".github-repo-setup") # (find-es "git" "github-repo-setup") ##### # # Mercurial # 2012apr12 # ##### # «mercurial» (to ".mercurial") # «bot-ocaml» (to ".bot-ocaml") # (find-angg "bin/withgodi") # https://bitbucket.org/ # https://bitbucket.org/0branch/bot-ocaml/overview # (code-c-d "bot" "~/usrc/bot-ocaml/") # (find-botfile "") # (find-botfile "README.md") # (find-botfile "OMakefile") # (find-botfile "OMakeroot") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/usrc/bot-ocaml/ mkdir ~/usrc/bot-ocaml/ cd ~/usrc/ hg clone https://eduardoochs@bitbucket.org/0branch/bot-ocaml cd ~/usrc/bot-ocaml/ # (find-angg ".emacs" "ocaml") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/bot-ocaml/ echo $PATH export PATH=$HOME/usrc/godi/bin:$PATH export PATH=$HOME/usrc/godi/sbin:$PATH which ocaml godi_console 1 * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/bot-ocaml/ echo $PATH export PATH=$HOME/usrc/godi/bin:$PATH export PATH=$HOME/usrc/godi/sbin:$PATH omake |& tee om cd ~/usrc/bot-ocaml/ # (find-botfile "config.json.template") # (find-botfile "config.json") ./bot -profile local cd ~/usrc/bot-ocaml/ hg pull hg update omake |& tee oom ##### # # Bazaar (bzr) # 2012nov06 # ##### # «bzr» (to ".bzr") # (find-status "bzr") # (find-vldifile "bzr.list") # (find-udfile "bzr/") # (find-status "bzrtools") # (find-vldifile "bzrtools.list") # (find-udfile "bzrtools/") # (find-status "python-paramiko") # (find-vldifile "python-paramiko.list") # (find-udfile "python-paramiko/") # (find-status "bzr-doc") # (find-vldifile "bzr-doc.list") # (find-udfile "bzr-doc/") # file:///usr/share/doc/bzr/html/index.html # Suggested: bzr-gtk bzr-svn python-pycurl python-kerberos bzr-doc # librsvg2-bin graphviz * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) bzr whoami bzr whoami "Eduardo Ochs <eduardoochs@gmail.com>" bzr whoami ##### # # bzr test # 2012nov06 # ##### # «bzr-test» (to ".bzr-test") # (find-es "git" "git-test") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) N=0 N () { echo $N; } ++N () { N=$[$N+1]; echo $N; } dumpfiles0 () { for i in $*; do echo $i \($(tr '\n' ' ' < $i)\) done } dumpfiles () { dumpfiles0 $(find * -type f | sort); } rm -Rv /tmp/bzrtest/ mkdir /tmp/bzrtest/ cd /tmp/bzrtest/ # (find-fline "/tmp/bzrtest/") mkdir d N=0 ++N > a ++N > b ++N > d/c ++N > d/d dumpfiles bzr init find | sort bzr add bzr commit -m "Initial import" ++N >> a dumpfiles bzr commit -m "Added a 5" bzr log bzr commit -m "Added a 5" bzr commit -m "Added nothing" ##### # # Emacs from bzr # 2012nov06 # ##### # «emacs-from-bzr» (to ".emacs-from-bzr") # (find-es "git" "emacs-from-git") # http://www.emacswiki.org/emacs/EmacsFromBazaar # http://www.emacswiki.org/emacs/BzrForEmacsCasualDevs # http://www.emacswiki.org/emacs/BzrForEmacsDevs # http://www.emacswiki.org/emacs/BzrForEmacsDevs#InitializingYourBzrRepo # (find-fline "~/usrc/") # (find-fline "~/bigsrc/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/bigsrc/bzr/ mkdir ~/bigsrc/bzr/ cd ~/bigsrc/bzr/ # (find-fline "~/bigsrc/bzr/") bzr init-repo emacs/ cd emacs/ # bzr branch bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/trunk trunk bzr branch bzr+ssh://edrx@bzr.savannah.gnu.org/emacs/trunk trunk bzr branch bzr+ssh://bzr.savannah.gnu.org/emacs/trunk trunk http://www.emacswiki.org/emacs/BzrForEmacsDevs#InitializingYourBzrRepo bzr init-repo emacs/ cd emacs/ bzr branch bzr+ssh://bzr.savannah.gnu.org/emacs/trunk trunk http://www.cyber.com.au/~twb/.bin/twb-get#emacs http://git.savannah.gnu.org/cgit/emacs.git (If you are using Bazaar version older than 2.0.0, you will need to use bzr init-repo --2a emacs/.) In Bazaar, a repository contains the history of one or more branches. Its possible to create a standalone branch, which contains its own repository under the ./.bzr directory. But here we are using a shared repository, which is very important for performance: because all branches created under $DEVHOME/emacs will share history storage. Not only does this save a lot of space, but it speeds up branch creation immensely because the history does not need to be copied each time. Now, create a branch called trunk whose main role is to be a mirror of the mainline, though you may also use it for making quick, one-off changes: cd ~/bigsrc/ bzr init-repo --2a bzremacs/ * (eepitch-shell2) * (eepitch-kill) * (eepitch-shell2) # (find-fline "~/bigsrc/bzremacs/") cd ~/bigsrc/bzremacs/ bzr checkout http://bzr.savannah.gnu.org/r/emacs/ trunk cd emacs/ bzr checkout URL_TO_UPSTREAM_TRUNK trunk bzr whoami "Joe Hacker <joe.hacker@address.org>" Now we create a shared repository. A repository is just a place where you can store one or more branches, not necessarily related one to each other. It's a performance trick that dramatically improves (in terms of required time and storage) certain operations that you may do when you expand your Bazaar usage beyond what is explained here. It is a good idea, but not strictly required. bzr init-repo --2a emacs/ creates a shared repository in the directory emacs. --2a is an storage format specification which is the most efficient and modern format supported by Bazaar right now and is the default on Bazaar version 2.0. Now we get the source files plus all the history of the branch we work on (trunk on this case, which is the CVS mainline): cd emacs/ bzr checkout URL_TO_UPSTREAM_TRUNK trunk On Bazaar parlance this creates a bound branch, also known as a heavyweight checkout. This is a slow process. It needs to download about 300 MB of data and makes heavy use of the CPU sometimes, so be patient. Now we have everything we need in the directory trunk. If you are working inside a shared repository like recommended above do not move the trunk directory around nor rename it. Daily work # (find-man "1 git-init") # (find-man "1 git-add") # (find-man "1 git-commit" "-m <msg>,") # (find-man "1 git-checkout" "-b\n") git checkout -b my-patch git checkout master git checkout my-patch git archive --format=tar --prefix=loopa-0.0.4/ v0.0.4 | gzip > ~/Desktop/loopa-0.0.4.tar.gz http://savannah.gnu.org/maintenance/UsingGit Or just publish a read-only, static HTTP mirror without any prior history , and from then on mind the comments. git clone --mirror --depth=1 Then from a cronjob run cd http-repo && git fetch && git --bare update-server-info # Local Variables: # coding: utf-8-unix # End: