Note that there are some explanatory texts on larger screens.

plurals
  1. POgit & svn externals - a final solution yet?
    primarykey
    data
    text
    <p>this is the workflow I currently use for my svn projects (I never use svn branches, and some projects are actively worked on by other people as well):</p> <ul> <li>on the server, do the inital <code>git svn fetch</code> which might take hours. Also create a 'build' branch.</li> <li>on a development machine cloning is now fast: <code>git clone srv://project.git, git checkout build</code> followed by <code>git update-refs ..., git svn fetch</code> to restore the link to the svn repository </li> <li>work, commit, work commit, ...</li> <li>to check if things are sane, <code>git push build</code> to the server and trigger a build in Hudson for that branch</li> <li>to store work so that I can work on it from another machine, also push build branch</li> <li>when satisfied, join commits together in logical steps (eg one for each bug), commit to svn and reset everything like <code>git checkout master, git merge build, git svn dcommit, git push, git checkout build, git rebase master, git push build</code></li> </ul> <p>Enter svn externals. I tried every script <a href="https://stackoverflow.com/questions/350651/how-do-i-keep-an-svnexternal-up-to-date-using-git-svn">here</a> already but all of them fail. My externals are setup like this:</p> <pre><code>/path/to/x x /path/to/y/z y/z /path/to/a/b.file a/b.file </code></pre> <p>and the scripts do things like trying to create <code>/path/to/x</code> in the root of the filesystem and <code>git svn fetch /path/to/x</code>. Also the single files seem to cause more problems. (subquestion 1: what is the svn:externals format these scripts were written for then?) </p> <p>It doesn't seem to hard modifying one of the scripts to handle my situation and replicate the directory structure I'm after correctly, but then I'm left with a major problem: if I change a file in both x and y/z directories, I don't see a way to join this into a single svn commit and that is one of the reasons I started using git in the first place.</p> <p>Hence the question: is there a way I can replicate the above workflow, using only parts of a certain svn repository, in such a way that I can do svn dcommit in the root? I'd prefer a ready-to-use solution that works both on linux and windows.</p> <p><strong>edit</strong> I quickly hacked through one of the scripts I found and made it replicating the directory structure of the svn externals. I cannot clone single files though, here's output:</p> <pre><code>git svn clone -r HEAD srv://svn/repo/path/to/projects.sln Initialized empty Git repository in xxx/projects.sln/.git/ Invalid filesystem path syntax: REPORT request failed on '/svn/repo/!svn/vcc/default': Cannot replace a directory from within at yyy/git/libexec/git-core/git-svn line 5114 </code></pre> <p>subquestion 2: is it not possible fetching a single file through git svn?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload