Subversion Q

What is the difference in the Subversion Update Pane between the Compare
with The Same Repository Version and Compare with The Last Repository
Version?

For both I get a very similar message that the BASE or HEAD and local
differ only in line separators.

Also, a de-facto convention is to capitalize only verbs and nouns, i.e.
the "The" in the menu item labels should not be capitalized (e.g.
"Compare with the Last Repository Version"). I think that "The" can be
thrown out completely, i.e. "Compare with Last Repository Version".

Anyhow, I still don't understand the difference between the 2 menu items.

Thanks,
Amnon

11 comments
Comment actions Permalink

In article <db1kes$m15$1@is.intellij.net>,
"Amnon I. Govrin" <nomail@jetbrains.com> wrote:

What is the difference in the Subversion Update Pane between the Compare
with The Same Repository Version and Compare with The Last Repository
Version?


That's funny because there is a ticket open for that. It confused me as
well. The difference is in the wording... The Last really means the
Latest (HEAD), the Same repo version is BASE which differs from head in
that Base is what you have checked out currently, head is what is in the
repository at this time which you don't have on your local machine.

So Same repository version means that if you are at revision 400, it
will compare your copy with repository version 400 of the repo.

Latest means that it will compare your current repo version (for a dir
or a file) to the HEAD which may or may not be the same.

If you check out a file, at that point in the time Base == Head, as soon
as someone commits, then Base != Head anymore Base == Head -1

Does this many more sense?

The menu names need to change for sure I think.

R

0
Comment actions Permalink

Robert S. Sfeir wrote:

In article <db1kes$m15$1@is.intellij.net>,
"Amnon I. Govrin" <nomail@jetbrains.com> wrote:

>> What is the difference in the Subversion Update Pane between the Compare
>> with The Same Repository Version and Compare with The Last Repository
>> Version?


That's funny because there is a ticket open for that.


Do you have a link?

The menu names need to change for sure I think.


The menu names are indeed a bit confusing. I would suggest
"Compare with Same Repository Version"
and
"Compare with Latest Repository Version"
The names are the same for CVS so those would need to change too.

Bas

0
Comment actions Permalink

How "See local changes" and "See remote changes" would fare?

0
Comment actions Permalink

Robert S. Sfeir wrote:

In article <db1kes$m15$1@is.intellij.net>,
"Amnon I. Govrin" <nomail@jetbrains.com> wrote:

>>What is the difference in the Subversion Update Pane between the Compare
>>with The Same Repository Version and Compare with The Last Repository
>>Version?


That's funny because there is a ticket open for that. It confused me as
well. The difference is in the wording... The Last really means the
Latest (HEAD), the Same repo version is BASE which differs from head in
that Base is what you have checked out currently, head is what is in the
repository at this time which you don't have on your local machine.

So Same repository version means that if you are at revision 400, it
will compare your copy with repository version 400 of the repo.

Latest means that it will compare your current repo version (for a dir
or a file) to the HEAD which may or may not be the same.

If you check out a file, at that point in the time Base == Head, as soon
as someone commits, then Base != Head anymore Base == Head -1

Does this many more sense?

The menu names need to change for sure I think.

R

Since users of the subversion integration should be familiar with subversion terminology,
why not use "Compare with Head" and "Compare with Base"? Then there would be no confusion.
If there is, then the user needs to refer to subversion documentation for the answers.

Tim

0
Comment actions Permalink

How "See local changes" and "See remote changes" would fare?


The difference between those 2 is

svn status does not hit the repository and looks at locally changed files

and

svn status -u which hits the repository and compares local changes with
remote ones and gives you an estimate of what will happen if you did an
update.

R

0
Comment actions Permalink

Since users of the subversion integration should be familiar with subversion
terminology,
why not use "Compare with Head" and "Compare with Base"? Then there would be
no confusion.
If there is, then the user needs to refer to subversion documentation for
the answers.


No objections from me :)

R

0
Comment actions Permalink

and there seems to be a bug in the impl right now:

http://www.jetbrains.net/jira/browse/IDEA-3564

R

0
Comment actions Permalink

Robert S. Sfeir wrote:

That's funny because there is a ticket open for that. It confused me as
well. The difference is in the wording... The Last really means the
Latest (HEAD), the Same repo version is BASE which differs from head in
that Base is what you have checked out currently, head is what is in the
repository at this time which you don't have on your local machine.


Thanks for the explanation, but in Subversion one doesn't really check
out a file.

I just modify the file and eventually commit it (check it in).

Consider the following scenario:
1. I start modifying a file.
2. Someone else changes and checks that file in.

In this case I understand that comparing with Last means I will compare
my file with what the version currently checked in contains and
comparing with Same means I will compare with what I last updated right
before I started modifying the file.

What if after 1 and 2 above I update my local repository? Would
comparing with Same still show me the comparison with the version I
started with or will it now compare with the latest?

Thanks,
Amnon

0
Comment actions Permalink

In article <db3h9h$iia$1@is.intellij.net>,
"Amnon I. Govrin" <nomail@jetbrains.com> wrote:

Robert S. Sfeir wrote:

That's funny because there is a ticket open for that. It confused me as
well. The difference is in the wording... The Last really means the
Latest (HEAD), the Same repo version is BASE which differs from head in
that Base is what you have checked out currently, head is what is in the
repository at this time which you don't have on your local machine.


Thanks for the explanation, but in Subversion one doesn't really check
out a file.


? You do check out the files. When you commit you're committing the
difference between the two which subversion does for you.

What if after 1 and 2 above I update my local repository? Would
comparing with Same still show me the comparison with the version I
started with or will it now compare with the latest?


Then you're on HEAD. Because you just did an update. The update does a
merge of your files with those in HEAD, you would resolve conflicts,
then if you did a check there should be no difference between file in
HEAD and local.

Someone makes a commit, and now you're Base not head.

R

0
Comment actions Permalink

Amnon I. Govrin wrote:

... in Subversion one doesn't really check out a file.


You don't "lock" a file, but you do "check out" a file. Otherwise, you wouldn't have a
local copy.

0
Comment actions Permalink

Tim Haley wrote:

Amnon I. Govrin wrote:

>> ... in Subversion one doesn't really check out a file.


You don't "lock" a file, but you do "check out" a file. Otherwise, you
wouldn't have a local copy.


OK, so what you're saying is that when I get a file I check it out and
when I update I merge effectively making the Last (HEAD) and Same (BASE)
exactly the same.

Thanks, I think I now understand this better.

Amnon

0

Please sign in to leave a comment.