#2440 tmux Git repo out of date when project was converted to new system

Thomas Adam


In November of 2012, the tmux project hosted here (tmux,sf,net) was converted over to your newer project system. Before that point, there were two Git repos. One was called "tmux", the other "tmux-openbsd". We are concerned only with the "tmux" repo.

When the project was converted over, the "tmux" repo became "code". Yet this new "code" repository is out of date at the point it was converted over. I would have hoped that this new "code" repository was a simple cp/scp of the original "tmux" repository, but this seems not to be the case.

The older "tmux" repo (which on disk is):


This bare repo has a .git/replaces/ directory which is really important. The newer "code" repo on disk, does not.

How was this "code" repository created? It can't simply have been a straight-forward "cp" or "scp". I hope you didn't simply "git clone", and expect that to work either, as parts of the metadata simply are not transferred at that point.

What I would like to see as a solution to this is the following:

  1. The tmux "code" repo which was created when the tmux project was converted over to your new system to go away.
  2. A symlink or something similar between:

/home/git/p/tmux/code.git and /home/scm_git/tmux/tmux

(It's annoying/unnecessary that the name of the repo should change, so I suggest symlinking)
3. That you review your procedure surrounding project "upgrades" because the way you've handled git migration -- is both sloppy and completely unnecessary. There is no need to change file-path locations (and in doing so breaking every git clone done in the past).

I am happy to help you with point 3,

Any questions, please ask.

-- Thomas Adam


  • Anonymous

    Anonymous - 2013-01-16
    • labels: --> engr, nf-5615
    • status: unread --> assigned
    • assigned_to: Chris Tsai
  • Anonymous

    Anonymous - 2013-01-16


    Thank you for this feedback, I've discussed this with the team a bit, and I'm escalating it to our engineering team to re-evaluate how to manage upgrades for git here: [allura:tickets:#5615]

    If you have further comments, I recommend you follow-up on that ticket.

    Chris Tsai, SourceForge.net Support

  • Tim Van Steenburgh

    Thomas, this is good feedback. Thanks for taking the time to write it.

  • Thomas Adam

    Thomas Adam - 2013-01-16

    You're welcome; but please also heed the fact that I've also a question in my feedback about how best to fix the problem, given we've now got two repos; the newer of which shouldn't never have come about.

  • Anonymous

    Anonymous - 2013-01-16

    Hi all

    I'm the project admin for tmux.

    I think at this point the first thing Thomas and I are looking for is just confirmation that the "code" repo at /home/git/p/tmux/code.git is now the repo we should be using?

    Then we can do whatever we need to get it up to date and fix up all the infrastructure (such as CVS sync and mailing list) that has been lost in the move.

    I'm not delighted with a repo called something as generic as "code" but it is probably not worth the risk of renaming it, even if possible.

    So should we proceed and work with the "code" repo and ignore/disable the old one at /home/scm_git/tmux/tmux?


  • Anonymous

    Anonymous - 2013-01-16
    • status: assigned --> pending
  • Anonymous

    Anonymous - 2013-01-16

    We do want you to move to using repositories on the new system, however, you're not forced to use the "code" name. You can add a new git repo via Admin -> Tools, and name it whatever you want (tmux, git, whatever), and then the new repo will be available via the Shell service at /home/git/p/tmux/mountpoint.git (replacing "mountpoint" with the name you chose earlier)

    You should then be able to cp files over from the old repo location /home/scm_git/tmux/tmux/ to your heart's content. Some notes however:

    1. when logging into the shell, the repos are mounted at shell creation time, so if you add a new repo when you have a shell session active, you'll need to use the shutdown command in the shell, and create a new session.
    2. for the Allura system, there's a line in post-receive that's necessary for site integration, this triggers an update for the code browser, so you'll want to make sure to retain this line as you copy items over.
    3. if you mess something up copying data over to the new system, you can remove/re-add the git repo via Admin -> Tools.

    Let me know if this helps!

    Chris Tsai, SourceForge.net Support

  • Anonymous

    Anonymous - 2013-01-16

    Ok thanks this is helpful, we'll see if we can get everything moved over.

  • Anonymous

    Anonymous - 2013-01-18

    Great, thanks.

    Let me know if you need further assistance.

    Chris Tsai, SourceForge.net Support

  • Anonymous

    Anonymous - 2013-01-18
    • status: pending --> assigned
  • Anonymous

    Anonymous - 2013-06-25
    • status: assigned --> fixed

Log in to post a comment.