me and my git-svn
April 3rd, 2008
I recently switched a bunch of my projects over to git. Why? All the cool kids are doing it, I figured I'd give it a shot. Either way I ran into a few bumps with the git-svn stuff. Everything went really well until I tried to push back my changes from git. I'd been committing changes to my repo and pushing them to github/hasno without issue. I ran into errors when I tried to git-svn dcommit.
Here's what I'm currently calling the right way, as usual ymmv:
-
init if you haven't done i already, check .git/config for an svn-remote entry...
git-svn init <repo url> -
pull the svn revision information. a bunch of info should scroll by matching svn revisions to git sha1 revisions.
git-svn fetch -
this will yeild a list of local & remote branches, you should see trunk in the list
git branch -a* master origin/HEAD origin/local-svn origin/master tags/release-0.1.23 tags/release-0.2.42 tags/release-0.2.44 tags/release-0.2.50 trunk
-
switch to a local branch based on the trunk remote branch
afaik you really don't want to be doing any of this type of stuff in a remote branchgit checkout -b local-svn trunk -
now we need to pull your local changes from your master branch to your local-svn branch
git merge master
it's worth noting that you could do agit rebase, but when I tried that I couldn't use git-svn dcommit -
go through and merge any conflicts. then
git commit. at this point you cangit dcommit
So if all that was how I got it working, what did I run into along the way... Well I'm glad you ask. Here's a list of errors and the reason for them afaik:
- Unable to determine upstream SVN information from HEAD history
- You have a recent commit that doesn't have any history in .git/ref/remote/svn or .git/svn. It also doesn't have the git-svn-id: key in the commit message.
- [svn-remote "svn"] unknown
- Did you manually create the svn-remote entry, or specify a different name? If so you need to pass that on to the commands, they seem to assume it's named svn.
- fatal: bad default revision 'refs/remotes/git-svn'
- Somethings amiss with your svn-remote entry in
.git/config
That's about it for me, if you've seen those errors and can add some detail or shed some light on a better way please do share. As of this moment ruby-hl7 is synched up.
Subversion on Windows with TortoiseSVN
February 19th, 2008
It's my first foray into screen casting, hopefully people find it useful. I cover setting up a subversion repository, accessing the repository, putting things into the repository and some other items. I tried pushing this to Google video, but it consistently mangled the text. I'll give it a shot again once I have some time. Any feedback or requests are welcome.
For those of you with ipods, here's an ipod friendly version.
svn windows crashing (rapidsvn and ankhsvn)
November 2nd, 2007
At work I end up using a Windows 2k3 machine for development. I have a personal svn repository setup for my projects, which I end up merging into vss (which is the suck). I tried installing Ankhsvn, an addin for visual studio enabling svn integration, and I tried rapidsvn. Both programs crashed due to some interaction with my system. Some googling brought back some stuff about the version of svn being a problem. That was wrong.
It turns out that the iconv libs provided with the svn install I used were not compatible with the other apps. Not sure why. I noticed this when I checked out the app with Process Explorer and saw APR_ICONV_PATH=c:\program files\subversion\iconv. Once I saw that I tried the debug build of svn from tigris and everything started working except the old subversion bins. Anyway, if you run into a null pointer error (exception) stemming from libapriconv.dll or libapriconv-1.dll, try replacing the subversion bins and libs.
dav svn finally
September 21st, 2007
I took a moment yesterday and tooled around with my apache setup in order to get dav svn up. Directory listing is currently denied as I have projects in there that aren't public. The SVNListParentPath directive doesn't seem to operate properly unless I grant read to /, which then exposes the file structure of everything in the repository. The actual files can't be read as Authz is setup and actually kicks in when you try to access the files past the first level of a project ( say /mystuff/a_file ). My searches on the subject haven't been very enlightening, if anyone's dealt with a similar setup I'd appreciate any tips. This was primarily motivated by experiences with web-only proxies at some sites.
That all being said, here's a list of the trees currently:
- http://svn.hasno.info/ruby-hl7 is the hl7 tree
- http://svn.hasno.info/mephisto is my mephisto trunk and mephisto plugins
- http://svn.hasno.info/fastxml my little hpricot-like libxml library
subversion bugtracking integration
June 11th, 2005
I've been using subversion for quite some time on personal projects. I'd love to start using subversion at work as cvs over a samba share isn't quite kosher. The interesting part of this is that using file/folder properties you can have some simple bug tracking integration (mantis, trac, bugzilla, fogbugz). This comes in handy when you need to figure out why changes were done (this is exactly the type of information that the kde khtml devs wanted). The integration comes from third party UI's (like TortoiseSVN), not from subversion's own tools afaik, which means that cmd line integrated usage is out (at least until someone decides they want to add it).
Unfortunately there isn't a actively developed product like tortoise for osx, there is scplugin but I do not believe it is under development at this time. In addition I don't believe that svnX (another osx svn ui) has support for the bug tracker properties.