Page 1 of 1

Git integration with TC

Posted: 2017-07-28, 14:24 UTC
by viertaxa
Git integration would be a great feature to integrate into TC. Badges indicating the status of the file (modified, staged, unstaged, etc) and a status indicator of for the repo as a whole (branch, number of commits ahead/behind) are a few things that come to mind immediately. I also think it would be good to have some defined macros, like stage highlighted files and folders.

Thanks!

Posted: 2017-07-28, 14:25 UTC
by viertaxa
Additionally, there are a lot of open source tools and libraries around Git, so implementation might be made a bit easier!

Posted: 2017-07-28, 19:36 UTC
by MVV
I use TortoiseGit for that, and enable overlay icons in TC so I can see statuses for files/folders/repos. And it is controlled via context menu so it is nicely integrated with TC.

Posted: 2017-07-28, 19:41 UTC
by viertaxa
I'm aware of Tortise Git, but it interacts with Git in some "interesting" ways. Too much magic IMO. Especially when it comes to submodules and merges.

Posted: 2017-07-28, 20:07 UTC
by MVV
I don't understand which magic do you mean because all is fine for me, I'm using it for years...

Posted: 2017-08-14, 01:59 UTC
by DrShark
2viertaxa
There is a content plugin for TC to show some GIT information, maybe it can do something of what you requested. The plugin discussion topic:
http://ghisler.ch/board/viewtopic.php?t=42074

Posted: 2017-08-26, 11:59 UTC
by sweetsour
Would be nice! +1

Re: Git integration with TC

Posted: 2021-05-29, 13:54 UTC
by d
i made backup of documents to a my client, with simple file copying. then, they need to make many movements, file renamings. then in the next backing up, tc's synchronise dirs is going to show all the moved/renamed files and directories as different. that is a big problem on syncing/backing up. if git was connected to that entire place (in this case, it is local disk d with documents, pictures etc moved here from c), and all renamings and movements were made with git, then probably that can be efficiently synced with backup disk. but, to say the truth, the client used to use windows explorer, so if even windows explorer was integrated to git, it would be ok.

Re: Git integration with TC

Posted: 2021-05-29, 14:15 UTC
by d
btw, i have just checked, cannot be the problem solved with rsync, i googled for "rsync moved files" and the answer in separate block in top is https://unix.stackexchange.com/questions/43957/using-rsync-to-move-not-copy-files-between-directories where i see that rsync does not solve this problem.

Re: Git integration with TC

Posted: 2021-05-30, 08:14 UTC
by ghisler(Author)
I don't think that you can combine git and sync.

Re: Git integration with TC

Posted: 2021-05-31, 07:49 UTC
by d
ghisler(Author) wrote: 2021-05-30, 08:14 UTC I don't think that you can combine git and sync.
i thought this way: original local disk d is a git repo, and it has copy on backup disk, together with .git folder. i have heard that git is a distributed system, any local copy (at programmer's machines) has all versions of files as on git server. so, local disk d can be put into local git server, and all new renamings and moves can be downloaded into backup disk with git pull.

Re: Git integration with TC

Posted: 2021-05-31, 08:33 UTC
by umbra
You do not want to use Git for that:
  1. It's not really built for binary files.
  2. You would have the files twice - once in normal locations and once in the .git folder.
  3. You would need a file system driver monitoring each filesystem call and issuing commits for each change. That would be a huge performance hit and potentially security issue.
You might have more luck with NTFS Journaling. Someone already tried it: https://ejrh.wordpress.com/2012/07/06/using-the-ntfs-journal-for-backups/, https://github.com/ejrh/backup, but I have no idea if it actually works.

Re: Git integration with TC

Posted: 2022-01-05, 13:05 UTC
by valexiev
Is there a way to do "git mv" while using the niceties of TC's rename, move, and multi-rename?

Re: Git integration with TC

Posted: 2022-01-05, 16:37 UTC
by umbra
valexiev wrote: 2022-01-05, 13:05 UTC Is there a way to do "git mv" while using the niceties of TC's rename, move, and multi-rename?
I don't see how. Though, I'm not sure what you are trying to achieve. There is no special rename/move/... operation in git. "git mv" is just normal rename/move operation that you do with Explorer/TC/..., that additionally:
  1. ignores ".gitignore" configuration
  2. automatically adds the changes to the staging
The first feature should be rarely used (I only needed it twice so far) and the second thing you need to do anyway for files with only changed content.