darcs pull vs git pull
I mean, I'm not going to say that you should use $VCS1 over $VCS2, I'm not proficient enough with either. I just think that:
rff@ut:~/ramaze$ darcs pull
Pulling from \"http://manveru.mine.nu/ramaze\"...
Wed Sep 12 14:52:55 CEST 2007 Michael Fellinger <mail@foo.com>
* Adding path for OSX to tool/tidy and improve readability of the spec for it a bit.
Shall I pull this patch? (1/1) [ynWvpxqadjk], or ? for help: v
[Adding path for OSX to tool/tidy and improve readability of the spec for it a bit.
Michael Fellinger <mail@foo.com>**20070912125255] {
hunk ./lib/ramaze/tool/tidy.rb 18
+ /usr/lib/libtidy.dylib
hunk ./spec/ramaze/tidy.rb 10
- Ramaze::Tool::Tidy.tidy(\"<html></html>\").should =~ %r{<html>\\s+<head>\\s+<meta name=\"generator\" content=\"HTML Tidy (.*?)\" />\\s+<title></title>\\s+</head>\\s+<body></body>\\s+</html>}
+ Ramaze::Tool::Tidy.tidy(\"<html></html>\").
+ should =~ %r{<html>\\s+<head>\\s+<meta name=\"generator\" content=\"HTML Tidy (.*?)\" />\\s+<title></title>\\s+</head>\\s+<body></body>\\s+</html>}
}
Wed Sep 12 14:52:55 CEST 2007 Michael Fellinger <mail@foo.com>
* Adding path for OSX to tool/tidy and improve readability of the spec for it a bit.
Shall I pull this patch? (1/1) [ynWvpxqadjk], or ? for help: y
Finished pulling and applying.
is slightly more clear than:
rff@ut:~/rubinius$ git pull Fetching refs/heads/master from http://git.rubini.us/code using http got 2fb92489ed4a0e58ea3d941a6f2ff8c7b8b44c2d walk 2fb92489ed4a0e58ea3d941a6f2ff8c7b8b44c2d got 6ae85832a699f3048ee260d9091aacc05c686fe4 got 6c0e0e63c0bb5979e2dd2b3df6e511b031656ef4 walk 6c0e0e63c0bb5979e2dd2b3df6e511b031656ef4 Getting alternates list for http://git.rubini.us/code Getting pack list for http://git.rubini.us/code Getting index for pack cf217ebdaa4f745cc827450e9cac23ec258d45f9 Getting pack cf217ebdaa4f745cc827450e9cac23ec258d45f9 which contains cf987cd736618331bf421603c1491030b0fc8e35 got c77671cc8a43049bd61dd22f13fbbbc1ab4f96ec ... many more.. got 933282575047f8924edc6cc426c0a234bdbe16a3 * refs/remotes/origin/master: fast forward to branch \'master\' of http://git.rubini.us/code old..new: e85ecf8..2fb9248 Updating e85ecf8..2fb9248 Fast forward .gitignore | 1 + Makefile | 2 +- bin/sirb.rb | 1 - compiler/bytecode/compiler.rb | 22 +- compiler/bytecode/primitive_names.rb | 2 +- compiler/bytecode/rubinius.rb | 1 + compiler/bytecode/system_hints.rb | 20 +- compiler/translation/local_scoping.rb | 7 +- compiler/translation/normalize.rb | 24 ++ compiler/translation/states.rb | 30 ++- kernel/core/compile.rb | 6 +- kernel/core/compiled_method.rb | 7 +- kernel/core/context.rb | 26 ++- kernel/core/io.rb | 3 + kernel/core/string.rb | 91 ++++++-- lib/bin/compile.rb | 176 ++++++++++++--- lib/bin/sirb.rb | 22 +- lib/ext/syck/build.rb | 6 + lib/ext/syck/rbxext.c | 12 +- lib/stringio.rb | 413 +++++++++++++++++++++++++++++++++ runtime/bootstrap.rba | Bin 29758 -> 29986 bytes runtime/compiler.rba | Bin 79208 -> 81314 bytes runtime/core.rba | Bin 162952 -> 168854 bytes runtime/loader.rbc | Bin 12565 -> 12651 bytes shotgun/lib/cpu.h | 13 +- shotgun/lib/cpu_primitives.c | 18 ++ shotgun/lib/cpu_task.c | 11 + shotgun/lib/instructions.rb | 13 +- shotgun/lib/methctx.c | 5 +- shotgun/lib/methctx.h | 2 +- shotgun/lib/primitives.rb | 75 +++---- spec/mini_rspec.rb | 8 +- 32 files changed, 849 insertions(+), 168 deletions(-) delete mode 120000 bin/sirb.rb create mode 100644 lib/ext/syck/build.rb create mode 100644 lib/stringio.rb
But, hei, maybe it's just me :)
See all commentsUsing darcs with FTP and without SSH
darcs is my favourite Version Control System. I'm not chris and I have not tried a lot of them, but I just love darcs' cherry picking so everything that misses that is out of my list. Maybe monotone or subversion 1.5 would be interesting.
Anyway, my only issue with darcs is that it does not allow pushing changes to a dumb repository, where dumb means ftp.
Since I don't have ssh access on all my hostings I found the solution in sitecopy which is a nifty utility to keep a remote directory in sync with a local one by doing incremental uploads.
To use this simply install sitecopy (which is probably avilable through your linux/bsd flavour package manager) and create a file ~/.sitecopyrc with a content like this:
site myproject
server ftp.myserver.com
remote /www/darcs.myserver.com/myproject
local /path/to/local/repository
username joe
password 123
and to create a directory ~/.sitecopy. The permission mask for the dir must be 0700 and for the rc file it must be 0600, otherwise sitecopy will complain about insecure files.
At this point you just need to init the remote repository by doing sitecopy --init myproject. It may take some time because the first time you'll be uploading all the old patches in the _darcs/ directory, but the next time you will do this, using sitecopy --update myproject it will be quite fast.
Obviously this approach works nicely only in a single-user environment, because if multiple users share the remote directory there will be inconsistencies, but it is useful to keep your copy of a projects' repository where you can have your patches and where you can point people that want them.
See all comments