cygwin git status e tortoise git commit mostram diferentes mudanças

2

Na minha máquina de 64 bits do Win7 Pro, tenho o TortoiseGit e o cygwin com o git. Se eu tentar encontrar as alterações pendentes, obtenho resultados diferentes do cygwin e do TortoiseGit. Tenho certeza que o resultado do cygwin git está errado.

Por que o git no cygwin relata todos esses arquivos como alterados, mesmo que eu não os tenha tocado?

Saída do TortoiseGit (correto):

Saídadocygwingit(errado):

$gitstatus#Onbranchmaster#Changesnotstagedforcommit:#(use"git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   .classpath
#   modified:   .gitignore
#   modified:   belipro.xml
#   modified:   etc/buildnum.properties
#   modified:   etc/db/adjust.sql
#   modified:   etc/db/update11.sql
#   modified:   etc/db/update12.sql
#   modified:   etc/excel-template/Anlagen.xls
#   modified:   etc/projektierbareTemplaes/templateA.rtf
#   modified:   etc/test/belipro.sql.zip
#   modified:   lib/commons-lang-2.6.jar
#   modified:   lib/jacob-1.14.3-x86.dll
#   modified:   lib/jacob.jar
#   modified:   res/ch/pp/belimed/bo/planung/ArbeitsStundenResourcePack.java
#   modified:   res/ch/pp/belimed/bo/planung/AufgabeAuftragResourcePack.java
#   modified:   res/ch/pp/belimed/bo/planung/AufgabeResourcePack.java
#   modified:   res/ch/pp/belimed/bo/planung/arbeitsstunden 32x32.png
#   modified:   res/ch/pp/belimed/bo/planung/arbeitsstunden 64x64.png
#   modified:   res/ch/pp/belimed/bo/planung/aufgabe 32x32.png
#   modified:   res/ch/pp/belimed/bo/planung/aufgabe 64x64.png
#   modified:   res/ch/pp/belimed/bo/planung/aufgabeauftrag 32x32.png
#   modified:   res/ch/pp/belimed/bo/planung/aufgabeauftrag 64x64.png
#   modified:   res/ch/pp/belimed/bo/projekt/DruckbehaelterResourcePack.java
#   modified:   res/ch/pp/belimed/bo/projekt/EldResourcePack.java
#   modified:   res/ch/pp/belimed/bo/projekt/WtdResourcePack.java
#   modified:   res/ch/pp/belimed/bo/projekt/druckbehaelter 32x32.png
#   modified:   res/ch/pp/belimed/bo/projekt/druckbehaelter 64x64.png
#   modified:   res/ch/pp/belimed/bo/projekt/eld 32x32.png
#   modified:   res/ch/pp/belimed/bo/projekt/eld 64x64.png
#   modified:   res/ch/pp/belimed/bo/projekt/projektierbar 32x32.png
#   modified:   res/ch/pp/belimed/bo/projekt/projektierbar 64x64.png
#   modified:   res/ch/pp/belimed/bo/projekt/wtd 32x32.png
#   modified:   res/ch/pp/belimed/bo/projekt/wtd 64x64.png
#   modified:   res/ch/pp/belimed/bo/util/BatchResourcePack.java
#   modified:   res/ch/pp/belimed/bo/util/TypResourcePack.java
#   modified:   res/ch/pp/belimed/explorer/BeliproExplorerComponentFactoryResourcePack.java
#   modified:   res/logging.properties
#   modified:   src/ch/pp/belimed/bo/planung/Aufgabe.java
#   modified:   src/ch/pp/belimed/bo/planung/AufgabeAuftrag.java
#   modified:   src/ch/pp/belimed/bo/planung/Auftrag.java
#   modified:   src/ch/pp/belimed/bo/planung/InternerAuftrag.java
#   modified:   src/ch/pp/belimed/bo/planung/Meilenstein.java
#   modified:   src/ch/pp/belimed/bo/planung/MeilensteinTyp.java
#   modified:   src/ch/pp/belimed/bo/planung/MitarbeiterAuftrag.java
#   modified:   src/ch/pp/belimed/bo/planung/Planung.java
#   modified:   src/ch/pp/belimed/bo/planung/Sammelauftrag.java
#   modified:   src/ch/pp/belimed/bo/projekt/ProjektStatus.java
#   modified:   src/ch/pp/belimed/bo/util/Batch.java
#   modified:   src/ch/pp/belimed/bo/util/Bezeichnung.java
#   modified:   src/ch/pp/belimed/explorer/BeliproExplorerComponentFactory.java
#   modified:   src/ch/pp/belimed/ui/planung/AufgabeSearchPanel.java
#   modified:   src/ch/pp/belimed/ui/planung/InternerAuftragDetailPanel.java
#   modified:   src/ch/pp/belimed/ui/planung/MitarbeiterAuftragDetailPanel.java
#   modified:   src/ch/pp/belimed/ui/planung/MitarbeiterDetailPanel.java
#   modified:   src/ch/pp/belimed/ui/projekt/AnlageSearchPanel.java
#   modified:   src/ch/pp/belimed/ui/projekt/KundeSearchPanel.java
#   modified:   src/ch/pp/belimed/ui/projekt/PlanungAssigner.java
#   modified:   src/ch/pp/belimed/ui/util/BatchDetailPanel.java
#   modified:   src/ch/pp/belimed/util/DbVersion.java
#   modified:   src/ch/pp/belimed/util/ReleaseInfo.java
#   modified:   src/ch/pp/util/DateUtils.java
#   modified:   test/ch/pp/belimed/bo/planung/AufgabeTest.java
#
no changes added to commit (use "git add" and/or "git commit -a")
    
por BetaRide 22.04.2011 / 11:33

3 respostas

3

Eu suspeito de finais de linha. Se o Tortoise git funcionar como outros clientes nativos de controle de versão do Windows, ele adicionará automaticamente retornos de transporte aos arquivos com check-out e saberá removê-los novamente ao comparar com os arquivos no repositório. Cygwin git, sendo um bom cidadão Unix, não faz nada disso, então ele vê aqueles retornos de carro que o Tortoise adicionou como modificações.

Moral da história: para qualquer checkout específico, escolha o git do Tortoise ou o Cygwin, caso contrário, você terminará com uma mistura terrível de finais de linha. Outra razão para não misturar clientes é que eles podem ter diferenças em como eles armazenam coisas no diretório .git.

(O mesmo conselho se aplica a outros sistemas de controle de versão.)

    
por 22.04.2011 / 11:52
4

Eu inicialmente pensei em espaço em branco, mas você tem alguns .pngs lá também.

Talvez sejam alterações no modo de arquivo. Experimente;

git config core.filemode false

Se isso não funcionar e se a única diferença for o carimbo de data / hora da alteração, tente:

git config core.trustctime false

(Claro que você pode desfazer qualquer um deles, repetindo o comando alterando false para true)

    
por 23.04.2011 / 09:24
1

TortoiseGit < 1.8.13.0 não suportou o Cygwin Git. Você precisa de uma versão mais recente .

1) Select the [CYGWIN-INSTALL-PATH]\bin-folder as git.exe folder.

2) Configure the HOME environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., "C:\Users\USERNAME"). By default, TortoiseGit uses the Windows home directory which is normally located under c:\Users and Cygwin uses its own home directories which are located under [CYGWIN-INSTALL-PATH]\home.

3) Configure AutoCrLf, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is true.

4) Go to TortoiseGit the section called “Advanced Settings” and set CygwinHack to true in order to activate cygwin workarounds.

5) Reboot.

Baseado no link e link

    
por 20.09.2015 / 14:14