Junio C Hamano wrote: > Jakub Narebski <jnareb@xxxxxxxxx> writes: > >> Martin Waitz wrote: >> >>> now that gitweb.cgi is autogenerated, git refuses to switch to old >>> branches unless force is applied: >>> >>> fatal: Untracked working tree file 'gitweb/gitweb.cgi' would >>> be overwritten by merge. >>> >>> This safety measure is quite useful normally, but for files that are >>> explicitly marked as to-be-ignored it should not be neccessary. >>> >>> But all the code that handles .gitignore is only used by ls-files now. >>> Does it make sense to add exclude handling to unpack-trees.c, too? >> >> I think it is "better to be annoying but safe" idea of git. You can always >> do "git checkout <branch> gitweb/gitweb.cgi" and "git checkout <branch>", >> and not use -f. > > I think you are talking backwards. Newer branch have .cgi > generated and older branch has it tracked. After you have built > in a newer branch, checking out an older branch without -f > option would play it safe not to clobber .cgi which is > annoying. So workaround you would want to suggest is TO USE -f. If I remember correctly that is what I did when "master" (and I had switch to master to do "git pull origin") didn't contain gitweb.cgi -> gitweb.perl rename. My proposed solution first overwrites generated gitweb.cgi by tracked file (i'm not sure if this is feature or bug that git-checkout with file specified (path limit specified?) doesn't need -f, and then you can do git-checkout full branch without -f. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html