Usability Issues With Git

When I update an svn project I get the side-by-side view showing the changelist(s) and am provided a way of showing the diffs.
I don't seem to get this with git projects. I just get a simple tree.

Using Git, I no longer appear to have an incoming changes tab like in svn.
Obviously there are multiple repos with git, but I'd like to see incoming from master.

The log view on the changes tab doesn't seem to update automatically so I find myself clicking it all the time to check.

How do I perform commits to different projects that have different usernames?
I have one username for work and another for private projects.
I want to make sure that the correct username is used for each without having to set the global username in git each time I switch projects

Also, what is the difference between update and pull?
Where I used to do svn update with Ctrl-T, shouldn't that be pull now?

Since, branches and push and pull are big parts of git, shouldn't they be in the toolbar for easy access?
The branches option doesn't have an icon, which is a pain if you add it manually.
Push has the same icon as commit too, even though they are technically different functions.

3 comments
Comment actions Permalink

Hello opticyclic,

Thanks for the feedback.
We already have requests for some of the issues you mentioned. You may vote for them.

1. Updated changes view format: you're welcome to create a feature request in our tracker: http://youtrack.jetbrains.net/

2. Incoming changes view: http://youtrack.jetbrains.net/issue/IDEA-64243

3. Log view auto-update: http://youtrack.jetbrains.net/issue/IDEA-77001

4. "How do I perform commits to different projects that have different usernames?"
Just define user.name and user.email as needed in .git/config of your repositories. IDEA will capture that.

5. "Also, what is the difference between update and pull?"
Currently Update Project is an enhanced version of Pull from the tracked branch.
Update Project lets you pull (via merge or rebase) all your repositories (if you have several repositories in the project) from the tracked branch of the current branch. It also autosaves your local changes if needed before pulling, and autoloads them back after pulling.
Git -> Pull, on the other hand, has more options to pull from other branches, etc.

6. "Since, branches and push and pull are big parts of git, shouldn't they be in the toolbar for easy access?"
There is Update Project button on the toolbar, so adding Pull there would be unnecessary.
For Push we've got http://youtrack.jetbrains.net/issue/IDEA-69441
Branches can be accesses by clicking on the current branch label in the status bar, so I don't think we need to add it to the toolbar as well.
Also you mayfind useful to try custom Quick Lists: http://blogs.jetbrains.com/idea/2006/03/defining-a-custom-quick-list/

7. Push icon: http://youtrack.jetbrains.net/issue/IDEA-78105

0
Comment actions Permalink

Top stuff! Thanks!
I didn't notice the branch in the status bar.
Just got an interesting error on pull though:

      Error pulling origin       

        
error: Your local changes to the following files would be overwritten         by merge:


Notice how there are no files listed! Something is wrong there!

A collegue also got a similar error earlier when trying to switch branches.
In his case it was that IDEA hadn't deleted a file on update as it was in use, but then IDEA wasn't recognising that the file was still there so it was preventing the switch but the error message wasn't listing any files either.

We both also had a strange issue today (at separate times, although we are both behind the same proxy) where we would update, see some changes in the log view, then sometime later (e.g. 15-30mins) look at the log view and update and see changes come in from 2 hours ago!
How does that work?
Could that be an issue with the proxy or github maybe?
Or are the times you see the time it was commited to their local repo and not the times they were pushed?

0
Comment actions Permalink

The pull error indicates that there are local changes in the same files as were changed remotely, so you have to stash or commit them before pulling.
The fact that the files are not shown is certainly a bug: http://youtrack.jetbrains.net/issue/IDEA-77739

Btw, if you use Update Project instead of Pull, as I said, IDEA would detect such situation and stash these changes before update.

"A collegue also got a similar error earlier when trying to switch branches."
Such error is handled while switching branches at least in IDEA 11 (even 10.5 if I remember correctly). Please tell your colleague to fire a bug if the error happens in IDEA 11.

Git doesn't record the time of push.
The time in the log is so called author time, which is different from the commit time, because when you rebase or apply a patch you re-commit.

0

Please sign in to leave a comment.