2010-02-24 12 views
5

Ich benutze git (mit git-svn) auf linux und ein kollege verwendet svn auf windows.git svn windows linux whitespace probleme

So oft berichtet git Whitespace-Probleme. In der Tat kann es aufgrund dieser Probleme keine lineare Historie schreiben und es entstehen Mischkonflikte.

Was ist der einfachste Weg, um svn/git und git-svn unter Windows und Linux zu konfigurieren, so dass es nun Leerzeichen gibt?

Es folgt ein berichtete merge Konflikt, in einer linearen Geschichte auf Master:

error: patch failed: frontend/templates/frontend/base.html:38 
error: frontend/templates/frontend/base.html: patch does not apply 
error: patch failed: frontend/templates/frontend/footer.html:1 
error: frontend/templates/frontend/footer.html: patch does not apply 
error: patch failed: frontend/templates/frontend/index.html:1 
error: frontend/templates/frontend/index.html: patch does not apply 
Using index info to reconstruct a base tree... 
<stdin>:15: trailing whitespace. 

<stdin>:20: trailing whitespace. 
      <a href="{% url frontend_index %}"> 
<stdin>:22: trailing whitespace. 
      </a> 
<stdin>:24: trailing whitespace. 
     <span class="companyname"> 
<stdin>:25: trailing whitespace. 
      <a href="{% url frontend_index %}"> 
warning: squelched 74 whitespace errors 
warning: 79 lines add whitespace errors. 
Falling back to patching base and 3-way merge... 
Auto-merging frontend/templates/frontend/base.html 
CONFLICT (content): Merge conflict in frontend/templates/frontend/base.html 
Auto-merging frontend/templates/frontend/index.html 
CONFLICT (content): Merge conflict in frontend/templates/frontend/index.html 
Failed to merge in the changes. 
Patch failed at 0001 template changes 

When you have resolved this problem run "git rebase --continue". 
If you would prefer to skip this patch, instead run "git rebase --skip". 
To restore the original branch and stop rebasing run "git rebase --abort". 

Wie löse ich die Leerzeichen Fragen?

Antwort

11

Fixing Leerzeichen Fehler

Fügen Sie diese auf .gitconfig

[core] 
    whitespace=nowarn 

git rebase sollte jetzt funktionieren. (Optional können Sie einige fix,-indent-with-non-tab,trailing-space hinzufügen, dass haben git alle Leerzeichen beheben bei jeder begehen. Ob das eine gute Idee, auf Ihr Projekt Regeln und Team abhängt.)

Fixing EOL Fehler

[core] 
    autocrlf = true 

in Ihrem .gitconfig. Dies erzwingt, dass jede Textdatei Fensterzeilen endet. svn ignoriert standardmäßig Zeilenenden und wenn Ihre Texteditoren in Windows normal sind, können Sie es so belassen. Andernfalls fügen Sie this file zu Ihrer Svn-Konfiguration hinzu (optional ändern Sie native zu CRLF), wodurch konsistente CRLF-Zeilenenden durchgehend sichergestellt werden.

Setzen Sie autocrlf = input und ändern Sie native in LF für durchgängig linux line Enden durch.