On Sat, Dec 08, 2007 at 07:49:57PM -0400, bulia byak wrote:
On Dec 8, 2007 2:47 PM, Aaron Spike <aaron@...749...> wrote:
Bulia, what operations do you commonly use in svn?
update, diff, commit, log
also setting a revision for diff and update, to search back in history
Pretty much all current revision control systems (including git, bzr, and I think hg) have these same commands, and even call them by the same name.
As a git and bzr user, I pretty much have only needed update, diff, commit, log, and push.
About push - One thing that's a little different with these distributed version control systems is that commit is split into two parts - "commit" and "push".
Commit is where you check in the code and give a commit message. It's a local operation though, so can be done even without network access. Very handy if you like to code on the bus, plane, or typical linux conference. ;-)
Push actually sends the changes out to another site (typically the mainline repository, but not necessarily).
The net result is that compared with svn, commits are *really* *really* fast, and don't break your train of thought. You commit more frequently, and thus can roll back and forth easier since the changesets are smaller.
To underscore the utility of this - at UDS, Ted and Kees had an Inkscape hacking session, where Kees majorly redid the Print Dialog. He got it to a point where it worked okay, but there were still some issues. The hotel wireless was busted so he couldn't commit it (he wasn't even sure it was ready for general consumption due to remaining issues). He pressed on and unfortunately got the code into a non-functioning state, and couldn't figure out how to get it back to where it was, since all the work was done outside revision control. So even today we remain Print Dialog-less because of this. With git or bzr (or hg), this would have not been an issue; he could have just committed locally as he went, and rolled back as soon as he found himself in a dead end situation.
Bryce