ArchiveOrangemail archive

bazaar discussion


bazaar.lists.canonical.com
(List home) (Recent threads) (4 other Canonical lists)

Subscription Options

  • RSS or Atom: Read-only subscription using a browser or aggregator. This is the recommended way if you don't need to send messages to the list. You can learn more about feed syndication and clients here.
  • Conventional: All messages are delivered to your mail address, and you can reply. To subscribe, send an email to the list's subscribe address with "subscribe" in the subject line, or visit the list's homepage here.
  • Low traffic list: less than 3 messages per day
  • This list contains about 75,234 messages, beginning Mar 2005
  • 0 messages added yesterday
Report the Spam
This button sends a spam report to the moderator. Please use it sparingly. For other removal requests, read this.
Are you sure? yes no

Google Summer of Code 2012 project for Bazaar

Ad
Andreas Sommer 1330257685Sun, 26 Feb 2012 12:01:25 +0000 (UTC)
Hey guys,

I was wondering if there's interest in offering a GSoC project for
Bazaar this year. From my side, I'd be interested to contribute to my
favorite VCS, but to be honest I don't have a precise topic proposal.
Bazaar Explorer would be a nice thing to work on as I think it could use
some improvement.

One idea would be to work a bit more on
https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
configuring diff/merge tools (and implementing it in the configuration
dialogs of qbzr). I think it would be nice to be able to define diff
tools in a more precise way, such as by file extension or regex. That
way, one could use special tools like the MS Word diffing scripts from
TortoiseSVN for *.doc files, or other tools for comparing non-text files
without having to use "bzr diff --using" via the command line. What do
you think?

Best regards,
 Andreas Sommer
Mark A. Flacy 1330271983Sun, 26 Feb 2012 15:59:43 +0000 (UTC)
I would vote for Netbeans support.
Parth Malwankar 1330276941Sun, 26 Feb 2012 17:22:21 +0000 (UTC)
On Sun, Feb 26, 2012 at 9:23 PM, Mark A. Flacy  wrote:
> I would vote for Netbeans support.Netbeans support seems like a good idea to me. The existing project doesn't
seem to be very active.
David Muir 1330304648Mon, 27 Feb 2012 01:04:08 +0000 (UTC)
On 02/27/2012 04:21 AM, Parth Malwankar wrote:
> On Sun, Feb 26, 2012 at 9:23 PM, Mark A. Flacy  wrote:
>> I would vote for Netbeans support.
> Netbeans support seems like a good idea to me. The existing project doesn't
> seem to be very active.
>+1 for Netbeans. It's one of the reasons why my team decided to go with
Mercurial instead of Bazaar.

David
Martin Packman 1330280239Sun, 26 Feb 2012 18:17:19 +0000 (UTC)
On 26/02/2012, Andreas Sommer  wrote:
>
> I was wondering if there's interest in offering a GSoC project for
> Bazaar this year. From my side, I'd be interested to contribute to my
> favorite VCS, but to be honest I don't have a precise topic proposal.This sounds like a great idea. I'm not sure if it makes sense for
Bazaar to apply as a mentoring organisation (and the deadline for that
is only a bit over a week away), but perhaps you propose a project
under the Ubuntu banner? Daniel Holbach is coordinating things there,
and there's a wiki page we could add bzr+ubuntu project ideas to:

<https://wiki.ubuntu.com/GoogleSoC2012>> Bazaar Explorer would be a nice thing to work on as I think it could use
> some improvement.There's certainly a lot in bzr-explorer that needs work and it would
be a great thing to tackle, my main worry would be how to define a
clear project. There would be real long term benefit in code
restructuring and automated testing, but that's not the sexiest thing
to work on and is harder to set out clear goals and waypoints than
working on a new feature of some kind.> One idea would be to work a bit more on
> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
> configuring diff/merge tools (and implementing it in the configuration
> dialogs of qbzr). I think it would be nice to be able to define diff
> tools in a more precise way, such as by file extension or regex. That
> way, one could use special tools like the MS Word diffing scripts from
> TortoiseSVN for *.doc files, or other tools for comparing non-text files
> without having to use "bzr diff --using" via the command line. What do
> you think?I think there's the core of a really good idea here. Having several
smaller targets, like making the configuration of custom differs and
mergers simple, and writing some specific ones for different formats,
would probably help the project. We also have some existing mergers
such as for Debian changelogs in bzr-builddeb, and the recent .po
merge plugin Vincent implemented, that work as specific examples.
Avoiding the messy conflicts when using bzr for ubuntu distributed
development has been helpful in those cases, and we could get feedback
on what other formats cause developers the most pain.

Jelmer has been a GSoC mentor in the past for Samba, he may also have
some suggestions from seeing what's worked in the past and what
hasn't.

Martin
Andreas Sommer 1330295430Sun, 26 Feb 2012 22:30:30 +0000 (UTC)
*From:* Martin Packman 
*Sent:* 26.02.2012 19:16
*To:* Andreas Sommer 
*Cc:* , Daniel Holbach, Jelmer Vernooij 
*Subject:* Re: Google Summer of Code 2012 project for Bazaar

> On 26/02/2012, Andreas Sommer  wrote:
>> I was wondering if there's interest in offering a GSoC project for
>> Bazaar this year. From my side, I'd be interested to contribute to my
>> favorite VCS, but to be honest I don't have a precise topic proposal.
> This sounds like a great idea. I'm not sure if it makes sense for
> Bazaar to apply as a mentoring organisation (and the deadline for that
> is only a bit over a week away), but perhaps you propose a project
> under the Ubuntu banner? Daniel Holbach is coordinating things there,
> and there's a wiki page we could add bzr+ubuntu project ideas to:
>
> <https://wiki.ubuntu.com/GoogleSoC2012>> <https://wiki.ubuntu.com/GoogleSoC2012>
Daniel, I'm describing my project idea in more detail below. Maybe you
want to have a look?
>> Bazaar Explorer would be a nice thing to work on as I think it could use
>> some improvement.
> There's certainly a lot in bzr-explorer that needs work and it would
> be a great thing to tackle, my main worry would be how to define a
> clear project. There would be real long term benefit in code
> restructuring and automated testing, but that's not the sexiest thing
> to work on and is harder to set out clear goals and waypoints than
> working on a new feature of some kind.Exactly, I guess for GSoC it's a good idea to have a well-defined
target, probably with some small milestones along the way.>
>> One idea would be to work a bit more on
>> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
>> configuring diff/merge tools (and implementing it in the configuration
>> dialogs of qbzr). I think it would be nice to be able to define diff
>> tools in a more precise way, such as by file extension or regex. That
>> way, one could use special tools like the MS Word diffing scripts from
>> TortoiseSVN for *.doc files, or other tools for comparing non-text files
>> without having to use "bzr diff --using" via the command line. What do
>> you think?
> I think there's the core of a really good idea here. Having several
> smaller targets, like making the configuration of custom differs and
> mergers simple, and writing some specific ones for different formats,
> would probably help the project. We also have some existing mergers
> such as for Debian changelogs in bzr-builddeb, and the recent .po
> merge plugin Vincent implemented, that work as specific examples.
> Avoiding the messy conflicts when using bzr for ubuntu distributed
> development has been helpful in those cases, and we could get feedback
> on what other formats cause developers the most pain.I'd like to focus on custom diff/merge tools. That would comprise of
1) Defining a configuration format in bazaar.conf. Each tool can be
defined by its executable, arguments, probably type (diff, 2-way merge,
3-way merge?), boolean whether it's a graphical or command line program,
and a friendly name so that later one can use "bzr diff --tool
some_tool_name" (there must also be a tool "default"). Other than that,
there will be a configuration that says which files (by extension/regex)
should be diffed/merged by which tool(s). Maybe the configuration could
also be made overridable per branch.
2) "bzr diff", "bzr merge" and Bazaar Explorer must make use of that
configuration.
3) Try it out with some popular tools. This is a good point for
integrating with the work of the extmerge plugin.
4) Configuration dialog for Bazaar Explorer (qconfig).
5) Pre-define popular tools (with their standard installation
directory). They should be part of the default configuration instead of
forcing users to edit the configuration themselves.
6) Documentation

So far for a more precise project outline ;) Please add anything that's
missing.

Just for clarification: By the above examples (.po / changelog mergers),
you mean merge hooks, right? If so, it's not directly related to the GUI
tools for diffs and merges that I was talking about primarily. As these
hooks seem to implicitly select files (via PerFileMerger.file_matches as
I can see from the docs), there won't be need for any configuration for
the hooks. But maybe it's possible to add this to the project as
nice-to-have-if-time-remains goal (i.e. to implement some merge hooks,
selected by popular demand).>
> Jelmer has been a GSoC mentor in the past for Samba, he may also have
> some suggestions from seeing what's worked in the past and what
> hasn't.
>
> Martin
Alexander Belchenko 1330415944Tue, 28 Feb 2012 07:59:04 +0000 (UTC)
Sorry for top-posting.

I think predefined merge tools is already implemented in bzr 2.4 by 
Gordon Tyler as bzrlib.mergetools and they used in qbzr/explorer.

I agree though there is big room for improvements, especially re diff tools.

Also, IWATA Hidetaka has just landed better support for external diff 
viewers in qbzr, so that's also partially addressed. But, again, of 
course we can do it much better. Often people asked why bzr-explorer 
does not launch diff in their favorite diff viewer.

I see you have already selected your target and goal. That's fine.

Just to add more ideas to the pot:

* Better IDE intergration is very good in long term

* If somebody wants to work on quite challenging and researching project 
for Bazaar Explorer I'd recommend to think about sketching on idea of 
separate processes behind bzr-explorer and qbzr GUIs. For explanation 
see my last year post:

https://lists.ubuntu.com/archives/bazaar/2011...

Anyway, any help is better than no help at all.
Thank you.Andreas Sommer пишет:
> 
> *From:* Martin Packman 
> *Sent:* 26.02.2012 19:16
> *To:* Andreas Sommer 
> *Cc:* , Daniel Holbach
> , Jelmer Vernooij 
> *Subject:* Re: Google Summer of Code 2012 project for Bazaar
> 
>> On 26/02/2012, Andreas Sommer  wrote:
>>> I was wondering if there's interest in offering a GSoC project for
>>> Bazaar this year. From my side, I'd be interested to contribute to my
>>> favorite VCS, but to be honest I don't have a precise topic proposal.
>> This sounds like a great idea. I'm not sure if it makes sense for
>> Bazaar to apply as a mentoring organisation (and the deadline for that
>> is only a bit over a week away), but perhaps you propose a project
>> under the Ubuntu banner? Daniel Holbach is coordinating things there,
>> and there's a wiki page we could add bzr+ubuntu project ideas to:
>>
>> <https://wiki.ubuntu.com/GoogleSoC2012>
> Daniel, I'm describing my project idea in more detail below. Maybe you
> want to have a look?
>>> Bazaar Explorer would be a nice thing to work on as I think it could use
>>> some improvement.
>> There's certainly a lot in bzr-explorer that needs work and it would
>> be a great thing to tackle, my main worry would be how to define a
>> clear project. There would be real long term benefit in code
>> restructuring and automated testing, but that's not the sexiest thing
>> to work on and is harder to set out clear goals and waypoints than
>> working on a new feature of some kind.
> Exactly, I guess for GSoC it's a good idea to have a well-defined
> target, probably with some small milestones along the way.
>>> One idea would be to work a bit more on
>>> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
>>> configuring diff/merge tools (and implementing it in the configuration
>>> dialogs of qbzr). I think it would be nice to be able to define diff
>>> tools in a more precise way, such as by file extension or regex. That
>>> way, one could use special tools like the MS Word diffing scripts from
>>> TortoiseSVN for *.doc files, or other tools for comparing non-text files
>>> without having to use "bzr diff --using" via the command line. What do
>>> you think?
>> I think there's the core of a really good idea here. Having several
>> smaller targets, like making the configuration of custom differs and
>> mergers simple, and writing some specific ones for different formats,
>> would probably help the project. We also have some existing mergers
>> such as for Debian changelogs in bzr-builddeb, and the recent .po
>> merge plugin Vincent implemented, that work as specific examples.
>> Avoiding the messy conflicts when using bzr for ubuntu distributed
>> development has been helpful in those cases, and we could get feedback
>> on what other formats cause developers the most pain.
> I'd like to focus on custom diff/merge tools. That would comprise of
> 1) Defining a configuration format in bazaar.conf. Each tool can be
> defined by its executable, arguments, probably type (diff, 2-way merge,
> 3-way merge?), boolean whether it's a graphical or command line program,
> and a friendly name so that later one can use "bzr diff --tool
> some_tool_name" (there must also be a tool "default"). Other than that,
> there will be a configuration that says which files (by extension/regex)
> should be diffed/merged by which tool(s). Maybe the configuration could
> also be made overridable per branch.
> 2) "bzr diff", "bzr merge" and Bazaar Explorer must make use of that
> configuration.
> 3) Try it out with some popular tools. This is a good point for
> integrating with the work of the extmerge plugin.
> 4) Configuration dialog for Bazaar Explorer (qconfig).
> 5) Pre-define popular tools (with their standard installation
> directory). They should be part of the default configuration instead of
> forcing users to edit the configuration themselves.
> 6) Documentation
> 
> So far for a more precise project outline ;) Please add anything that's
> missing.
> 
> Just for clarification: By the above examples (.po / changelog mergers),
> you mean merge hooks, right? If so, it's not directly related to the GUI
> tools for diffs and merges that I was talking about primarily. As these
> hooks seem to implicitly select files (via PerFileMerger.file_matches as
> I can see from the docs), there won't be need for any configuration for
> the hooks. But maybe it's possible to add this to the project as
> nice-to-have-if-time-remains goal (i.e. to implement some merge hooks,
> selected by popular demand).
>> Jelmer has been a GSoC mentor in the past for Samba, he may also have
>> some suggestions from seeing what's worked in the past and what
>> hasn't.
>>
>> Martin
> 
>
Andreas Sommer 1335685472Sun, 29 Apr 2012 07:44:32 +0000 (UTC)
Hi all,

since Canonical didn't participate in GSoC, I couldn't implement the
idea I described below. Also I was not accepted for GSoC because I'm
writing my master's thesis, and organizations expect full-time
commitments (applied for Debian and Monkey). So much about that... Still
I'd like to do some work on diff/merge tool definitions because for me
this is a feature that I am totally missing, so I would like to have
your opinion and feedback about the idea I already presented some weeks
ago - it is outlined below. Are you okay with the changes I'm proposing,
do you see problems, do you think I shouldn't mess around with your code
:P ? Any links on Bazaar development (like a source code overview or so)
will also be helpful.

Best regards
 AndreasAndreas Sommer wrote:
>
> *From:* Martin Packman 
> *Sent:* 26.02.2012 19:16
> *To:* Andreas Sommer 
> *Cc:* , Daniel Holbach
> , Jelmer Vernooij 
> *Subject:* Re: Google Summer of Code 2012 project for Bazaar
>
>> On 26/02/2012, Andreas Sommer  wrote:
>>> I was wondering if there's interest in offering a GSoC project for
>>> Bazaar this year. From my side, I'd be interested to contribute to my
>>> favorite VCS, but to be honest I don't have a precise topic proposal.
>> This sounds like a great idea. I'm not sure if it makes sense for
>> Bazaar to apply as a mentoring organisation (and the deadline for that
>> is only a bit over a week away), but perhaps you propose a project
>> under the Ubuntu banner? Daniel Holbach is coordinating things there,
>> and there's a wiki page we could add bzr+ubuntu project ideas to:
>>
>> <https://wiki.ubuntu.com/GoogleSoC2012>
> Daniel, I'm describing my project idea in more detail below. Maybe you
> want to have a look?
>>> Bazaar Explorer would be a nice thing to work on as I think it could use
>>> some improvement.
>> There's certainly a lot in bzr-explorer that needs work and it would
>> be a great thing to tackle, my main worry would be how to define a
>> clear project. There would be real long term benefit in code
>> restructuring and automated testing, but that's not the sexiest thing
>> to work on and is harder to set out clear goals and waypoints than
>> working on a new feature of some kind.
> Exactly, I guess for GSoC it's a good idea to have a well-defined
> target, probably with some small milestones along the way.
>>> One idea would be to work a bit more on
>>> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
>>> configuring diff/merge tools (and implementing it in the configuration
>>> dialogs of qbzr). I think it would be nice to be able to define diff
>>> tools in a more precise way, such as by file extension or regex. That
>>> way, one could use special tools like the MS Word diffing scripts from
>>> TortoiseSVN for *.doc files, or other tools for comparing non-text files
>>> without having to use "bzr diff --using" via the command line. What do
>>> you think?
>> I think there's the core of a really good idea here. Having several
>> smaller targets, like making the configuration of custom differs and
>> mergers simple, and writing some specific ones for different formats,
>> would probably help the project. We also have some existing mergers
>> such as for Debian changelogs in bzr-builddeb, and the recent .po
>> merge plugin Vincent implemented, that work as specific examples.
>> Avoiding the messy conflicts when using bzr for ubuntu distributed
>> development has been helpful in those cases, and we could get feedback
>> on what other formats cause developers the most pain.
> I'd like to focus on custom diff/merge tools. That would comprise of
> 1) Defining a configuration format in bazaar.conf. Each tool can be
> defined by its executable, arguments, probably type (diff, 2-way merge,
> 3-way merge?), boolean whether it's a graphical or command line program,
> and a friendly name so that later one can use "bzr diff --tool
> some_tool_name" (there must also be a tool "default"). Other than that,
> there will be a configuration that says which files (by extension/regex)
> should be diffed/merged by which tool(s). Maybe the configuration could
> also be made overridable per branch.
> 2) "bzr diff", "bzr merge" and Bazaar Explorer must make use of that
> configuration.
> 3) Try it out with some popular tools. This is a good point for
> integrating with the work of the extmerge plugin.
> 4) Configuration dialog for Bazaar Explorer (qconfig).
> 5) Pre-define popular tools (with their standard installation
> directory). They should be part of the default configuration instead of
> forcing users to edit the configuration themselves.
> 6) Documentation
>
> So far for a more precise project outline ;) Please add anything that's
> missing.
>
> Just for clarification: By the above examples (.po / changelog mergers),
> you mean merge hooks, right? If so, it's not directly related to the GUI
> tools for diffs and merges that I was talking about primarily. As these
> hooks seem to implicitly select files (via PerFileMerger.file_matches as
> I can see from the docs), there won't be need for any configuration for
> the hooks. But maybe it's possible to add this to the project as
> nice-to-have-if-time-remains goal (i.e. to implement some merge hooks,
> selected by popular demand).
>> Jelmer has been a GSoC mentor in the past for Samba, he may also have
>> some suggestions from seeing what's worked in the past and what
>> hasn't.
>>
>> Martin
Martin Packman 1335807655Mon, 30 Apr 2012 17:40:55 +0000 (UTC)
On 29/04/2012, Andreas Sommer  wrote:
>
> since Canonical didn't participate in GSoC, I couldn't implement the
> idea I described below.Yes, Ubuntu wasn't accepted, which makes not having applies separately
for Bazaar a little frustrating.> I'd like to do some work on diff/merge tool definitions because for me
> this is a feature that I am totally missing, so I would like to have
> your opinion and feedback about the idea I already presented some weeks
> ago - it is outlined below.Work along these lines seems reasonable to me. Will discuss in our
standup this week, management changes are making planning a little
difficult at the moment. I'd suggest you try diving in now and making
some changes to get a feel for how bzr development is done.> :P ? Any links on Bazaar development (like a source code overview or so)
> will also be helpful.Start in the docs/developers directory, you can also read this online at:

<http://doc.bazaar.canonical.com/developers/>

Good luck!

Martin
Andreas Sommer 1335879323Tue, 01 May 2012 13:35:23 +0000 (UTC)
Martin Packman wrote:
> On 29/04/2012, Andreas Sommer  wrote:
>> I'd like to do some work on diff/merge tool definitions because for me
>> this is a feature that I am totally missing, so I would like to have
>> your opinion and feedback about the idea I already presented some weeks
>> ago - it is outlined below.
> 
> Work along these lines seems reasonable to me. Will discuss in our
> standup this week, management changes are making planning a little
> difficult at the moment. I'd suggest you try diving in now and making
> some changes to get a feel for how bzr development is done.
> 
>> :P ? Any links on Bazaar development (like a source code overview or so)
>> will also be helpful.
> 
> Start in the docs/developers directory, you can also read this online at:
> 
> <http://doc.bazaar.canonical.com/developers/>Started coding something already, and I pushed it to my own branch to
get some early feedback:
https://code.launchpad.net/~andidog/bzr/diff-...

And another thing: Do the files need to have "Copyright (c) Canonical Ltd"?> 
> Good luck!
> 
> MartinThanks!
Gordon Tyler 1335883861Tue, 01 May 2012 14:51:01 +0000 (UTC)
On Tue, May 1, 2012 at 9:34 AM, Andreas Sommer <
 wrote:

> Started coding something already, and I pushed it to my own branch to
> get some early feedback:
> https://code.launchpad.net/~andidog/bzr/diff-...I was going to mention the mergetools module but it looks like you've
already seen it. Something to consider is whether it would be feasible to
refactor the mergetools module and your new difftools module to use a
common module for managing and invoking external tools. It would depend on
how much common code there is.

And another thing: Do the files need to have "Copyright (c) Canonical Ltd"?
>

IANAL, but as far as I know all contributions to bzr have to be made under
a copyright assignment scheme with a signed contributors agreement.

Ciao,
Gordon
Andreas Sommer 1335886951Tue, 01 May 2012 15:42:31 +0000 (UTC)
Gordon Tyler wrote:
> On Tue, May 1, 2012 at 9:34 AM, Andreas Sommer
> 
> > wrote:
> 
>     Started coding something already, and I pushed it to my own branch to
>     get some early feedback:
>     https://code.launchpad.net/~andidog/bzr/diff-...
> 
> 
> I was going to mention the mergetools module but it looks like you've
> already seen it. Something to consider is whether it would be feasible
> to refactor the mergetools module and your new difftools module to use a
> common module for managing and invoking external tools. It would depend
> on how much common code there is.I will see that soon. From what I've seen in in mergetools, it has a
different way of replacing arguments. Something like "executable
/base:filename.BASE" is not possible because {base} must be a single
argument (i.e. "executable /base filename.BASE" would be possible). This
will be improved if I create a common module for tool invocation. If I
remember correctly, this was actually bugging me for a while because I
had to write a workaround in order to use the awesome TortoiseMerge. So
it's a good chance to get that fixed too :)>     And another thing: Do the files need to have "Copyright (c)
>     Canonical Ltd"?
> 
> 
> IANAL, but as far as I know all contributions to bzr have to be made
> under a copyright assignment scheme with a signed contributors agreement.Right, I remember having read something about that. Just signed and
submitted it online.
Gordon Tyler 1336004213Thu, 03 May 2012 00:16:53 +0000 (UTC)
On Tue, May 1, 2012 at 11:41 AM, Andreas Sommer <
 wrote:

> I will see that soon. From what I've seen in in mergetools, it has a
> different way of replacing arguments. Something like "executable
> /base:filename.BASE" is not possible because {base} must be a single
> argument (i.e. "executable /base filename.BASE" would be possible). This
> will be improved if I create a common module for tool invocation. If I
> remember correctly, this was actually bugging me for a while because I
> had to write a workaround in order to use the awesome TortoiseMerge. So
> it's a good chance to get that fixed too :)
>It certainly sounds like that would be a good improvement and should be
backwards compatible.

Another diff-related feature request that I recall seeing was for proper
handling of multi-file diffs with tools that can handle them. I think it
might have been WinMerge that could display multiple diffs in a single
window, but the way our diff invocation currently works, it would show one
diff, wait for the diff app to close, invoke it again for the next file,
etc.

Ah, here it is: https://bugs.launchpad.net/bzr/+bug/490212

Ciao,
Gordon
Andreas Sommer 1336034548Thu, 03 May 2012 08:42:28 +0000 (UTC)
From: Gordon Tyler 
Sent: 03.05.2012 01:16To: Andreas Sommer 
Cc: , Martin Pool 
Subject: Re: Major diff/merge changes in bzr and explorer
> On Tue, May 1, 2012 at 11:41 AM, Andreas Sommer
> 
> > wrote:
> 
>     I will see that soon. From what I've seen in in mergetools, it has a
>     different way of replacing arguments. Something like "executable
>     /base:filename.BASE" is not possible because {base} must be a single
>     argument (i.e. "executable /base filename.BASE" would be possible). This
>     will be improved if I create a common module for tool invocation. If I
>     remember correctly, this was actually bugging me for a while because I
>     had to write a workaround in order to use the awesome TortoiseMerge. So
>     it's a good chance to get that fixed too :)
> 
> 
> It certainly sounds like that would be a good improvement and should be
> backwards compatible.
> 
> Another diff-related feature request that I recall seeing was for proper
> handling of multi-file diffs with tools that can handle them. I think it
> might have been WinMerge that could display multiple diffs in a single
> window, but the way our diff invocation currently works, it would show
> one diff, wait for the diff app to close, invoke it again for the next
> file, etc.
> 
> Ah, here it is: https://bugs.launchpad.net/bzr/+bug/490212Good point. There is an important distinction to make:

1) Tools that show multiple 2-way diffs, e.g. in tabs. This is done by
multiple process invocations (e.g. WinMerge) or passing the file pairs
as parameters (e.g. meld) as described in the bug comments.

2) Tools that can handle 3+ way diffs like Diffuse. 'bzr diff' can only
compare two revisions at the moment, so multi-revision diff tools can
not be used yet. But it might be worth considering it in the
implementation of a common tool invocation module. For example, instead
of parameters (old_filename,new_filename) one could use a list
new_filenames (that would contain one filename in case of the
traditional 2-way diff).
Aaron Bentley 1336057693Thu, 03 May 2012 15:08:13 +0000 (UTC)
On 12-05-03 04:41 AM, Andreas Sommer wrote:
> From: Gordon Tyler 

>> Another diff-related feature request that I recall seeing was for
>> proper handling of multi-file diffs with tools that can handle
>> them.

> Good point. There is an important distinction to make:
> 
> 1) Tools that show multiple 2-way diffs, e.g. in tabs. This is done
> by multiple process invocations (e.g. WinMerge) or passing the file
> pairs as parameters (e.g. meld) as described in the bug comments.
> 
> 2) Tools that can handle 3+ way diffs like Diffuse. 'bzr diff' can
> only compare two revisions at the moment, so multi-revision diff
> tools can not be used yet. But it might be worth considering it in
> the implementation of a common tool invocation module. For example,
> instead of parameters (old_filename,new_filename) one could use a
> list new_filenames (that would contain one filename in case of the 
> traditional 2-way diff).I would distinguish between per-file diff tools and per-tree diff
tools.  The diff code I wrote handles per-file diff tools as
extra_factories for DiffTree.  I imagined that per-tree diff tools
would be implemented using the same API as DiffTree, and registered
with bzrlib.diff.format_registry, but I didn't do any work on that.

Aaron
Andreas Sommer 1336080163Thu, 03 May 2012 21:22:43 +0000 (UTC)
From: Aaron Bentley Sent: 03.05.2012 16:07
To: 
Subject: Re: Major diff/merge changes in bzr and explorer
> On 12-05-03 04:41 AM, Andreas Sommer wrote:
>> From: Gordon Tyler 
> 
>>> Another diff-related feature request that I recall seeing was
>>> for proper handling of multi-file diffs with tools that can
>>> handle them.
> 
>> Good point. There is an important distinction to make:
> 
>> 1) Tools that show multiple 2-way diffs, e.g. in tabs. This is
>> done by multiple process invocations (e.g. WinMerge) or passing
>> the file pairs as parameters (e.g. meld) as described in the bug
>> comments.
> 
>> 2) Tools that can handle 3+ way diffs like Diffuse. 'bzr diff'
>> can only compare two revisions at the moment, so multi-revision
>> diff tools can not be used yet. But it might be worth considering
>> it in the implementation of a common tool invocation module. For
>> example, instead of parameters (old_filename,new_filename) one
>> could use a list new_filenames (that would contain one filename
>> in case of the traditional 2-way diff).
> 
> I would distinguish between per-file diff tools and per-tree diff 
> tools.  The diff code I wrote handles per-file diff tools as 
> extra_factories for DiffTree.  I imagined that per-tree diff tools 
> would be implemented using the same API as DiffTree, and
> registered with bzrlib.diff.format_registry, but I didn't do any
> work on that.
> 
> AaronNot sure what you mean by per-tree diff tools - no tool except for the
bzr textual representation can display all different types of changes
(modified text files or pictures, symlinks, changed directories, renames).

I propose the following: Bazaar's textual representation remains the
default, and the differs in extra_factories are tried first. The
"--format" parameter which does the selection in
bzrlib.diff.format_registry, will only be valid for the internal diff
(e.g. one could implement different formats apart from the unified
diff, that's how I understand the word "format").
Now for the external tools: I will add an option like
"bzr.difftool.MyDiffTool.is_default" (true/false). Also an option
".is_console_based" that says whether it can be run without a
graphical environment. "bzr diff" without the "--tool" parameter will
try all "default" differs first before using the textual
representation (if there's no graphical environment like in an SSH
session (how would I check this??), only the ones with
.is_console_based==true). In contrast, "bzr diff --tool=MyCoolTool"
will select the tool with that name and use it for all changes that it
supports, else falls back to other preferred tools, then to built-in
diff. The ".is_default" option thus means that "bzr diff" uses them
automatically without the "--tool" parameter, so that a user can
replace the default diff algorithm completely by another tool.

Does that make sense somehow? Or how did you imagine this, also
regarding the existing DiffPath implementation?

Andreas
Andreas Sommer 1336426478Mon, 07 May 2012 21:34:38 +0000 (UTC)
Andreas Sommer wrote:
> From: Aaron Bentley  Sent: 03.05.2012
> 16:07 To:  Subject: Re: Major diff/merge
> changes in bzr and explorer
>> On 12-05-03 04:41 AM, Andreas Sommer wrote:
>>> From: Gordon Tyler 
> 
>>>> Another diff-related feature request that I recall seeing
>>>> was for proper handling of multi-file diffs with tools that
>>>> can handle them.
> 
>>> Good point. There is an important distinction to make:
> 
>>> 1) Tools that show multiple 2-way diffs, e.g. in tabs. This is 
>>> done by multiple process invocations (e.g. WinMerge) or
>>> passing the file pairs as parameters (e.g. meld) as described
>>> in the bug comments.
> 
>>> 2) Tools that can handle 3+ way diffs like Diffuse. 'bzr diff' 
>>> can only compare two revisions at the moment, so
>>> multi-revision diff tools can not be used yet. But it might be
>>> worth considering it in the implementation of a common tool
>>> invocation module. For example, instead of parameters
>>> (old_filename,new_filename) one could use a list new_filenames
>>> (that would contain one filename in case of the traditional
>>> 2-way diff).
> 
>> I would distinguish between per-file diff tools and per-tree diff
>>  tools.  The diff code I wrote handles per-file diff tools as 
>> extra_factories for DiffTree.  I imagined that per-tree diff
>> tools would be implemented using the same API as DiffTree, and 
>> registered with bzrlib.diff.format_registry, but I didn't do any 
>> work on that.
> 
>> Aaron
> 
> Not sure what you mean by per-tree diff tools - no tool except for
> the bzr textual representation can display all different types of
> changes (modified text files or pictures, symlinks, changed
> directories, renames).
> 
> I propose the following: Bazaar's textual representation remains
> the default, and the differs in extra_factories are tried first.
> The "--format" parameter which does the selection in 
> bzrlib.diff.format_registry, will only be valid for the internal
> diff (e.g. one could implement different formats apart from the
> unified diff, that's how I understand the word "format"). Now for
> the external tools: I will add an option like 
> "bzr.difftool.MyDiffTool.is_default" (true/false). Also an option 
> ".is_console_based" that says whether it can be run without a 
> graphical environment. "bzr diff" without the "--tool" parameter
> will try all "default" differs first before using the textual 
> representation (if there's no graphical environment like in an SSH 
> session (how would I check this??), only the ones with 
> .is_console_based==true). In contrast, "bzr diff
> --tool=MyCoolTool" will select the tool with that name and use it
> for all changes that it supports, else falls back to other
> preferred tools, then to built-in diff. The ".is_default" option
> thus means that "bzr diff" uses them automatically without the
> "--tool" parameter, so that a user can replace the default diff
> algorithm completely by another tool.
> 
> Does that make sense somehow? Or how did you imagine this, also 
> regarding the existing DiffPath implementation?
> 
> AndreasSo now I implemented it as described above, with some small changes:
- - Added the following options for each diff tool (default value in
parentheses): is_default (false), is_gui (false), filename_regex
(None), file_types (text,binary)
  - filename_regex defines which filenames are supported, e.g.
\.docx?$ for a tool that can diff Word documents
  - file_types defines whether text, binary or both can be handled
  - is_default defines whether "bzr diff" may choose this tool
automatically
  - is_gui is for default (is_default=true) tools that should only be
chosen if the new "--ui" parameter is given

Conclusion: "bzr diff" stays as is because no default tools are
defined for the command line (yet?!). The user can define own
preferred tools. "bzr diff --ui" will start a GUI-based tool if available.

Since I'm using Windows/Tortoise{Git,SVN} quite often, I already added
TortoiseMerge (also works as diff tool despite its name) for text
files and the TortoiseSVN MS Word diff script for .doc and .docx files.

See branch at
https://code.launchpad.net/~andidog/bzr/diff-... feedback
welcome!! Thanks,
 Andreas
David Ingamells 1336027847Thu, 03 May 2012 06:50:47 +0000 (UTC)
On 29/04/12 09:43, Andreas Sommer wrote:
> Hi all,
>
> since Canonical didn't participate in GSoC, I couldn't implement the
> idea I described below. Also I was not accepted for GSoC because I'm
> writing my master's thesis, and organizations expect full-time
> commitments (applied for Debian and Monkey). So much about that... Still
> I'd like to do some work on diff/merge tool definitions because for me
> this is a feature that I am totally missing, so I would like to have
> your opinion and feedback about the idea I already presented some weeks
> ago - it is outlined below. Are you okay with the changes I'm proposing,
> do you see problems, do you think I shouldn't mess around with your code
> :P ? Any links on Bazaar development (like a source code overview or so)
> will also be helpful.
>
> Best regards
>   Andreas
>Dear Andreas,
A plea if you are looking at how bzr handles diff tools:
When an interactive diff tool like meld is used and you run a diff on a 
branch where files have been added or removed then bzr just dumps the 
content of the added or removed file to the terminal instead of also 
showing the contents via the diff tool with an empty counterpart. This 
is very annoying as one has to switch between the terminal and the 
interactive diff tool to see the changes and the 'dumped' contents may 
be larger than the scroll buffer.

If bzr knowns about diff/merge tool definitions then it can also be told 
that a tool is interactive and in that case all changes should be shown 
through that tool.

So if it fits in your work I'd be very pleased if you could look at this 
issue too :-)
thanks,
David.
Andreas Sommer 1336033070Thu, 03 May 2012 08:17:50 +0000 (UTC)
From: David Ingamells Sent: 03.05.2012 07:50
To: 
Subject: Re: Major diff/merge changes in bzr and explorer
> On 29/04/12 09:43, Andreas Sommer wrote:
>> Hi all,
>>
>> since Canonical didn't participate in GSoC, I couldn't implement the
>> idea I described below. Also I was not accepted for GSoC because I'm
>> writing my master's thesis, and organizations expect full-time
>> commitments (applied for Debian and Monkey). So much about that... Still
>> I'd like to do some work on diff/merge tool definitions because for me
>> this is a feature that I am totally missing, so I would like to have
>> your opinion and feedback about the idea I already presented some weeks
>> ago - it is outlined below. Are you okay with the changes I'm proposing,
>> do you see problems, do you think I shouldn't mess around with your code
>> :P ? Any links on Bazaar development (like a source code overview or so)
>> will also be helpful.
>>
>> Best regards
>>   Andreas
>>
> Dear Andreas,
> A plea if you are looking at how bzr handles diff tools:
> When an interactive diff tool like meld is used and you run a diff on a
> branch where files have been added or removed then bzr just dumps the
> content of the added or removed file to the terminal instead of also
> showing the contents via the diff tool with an empty counterpart. This
> is very annoying as one has to switch between the terminal and the
> interactive diff tool to see the changes and the 'dumped' contents may
> be larger than the scroll buffer.
> 
> If bzr knowns about diff/merge tool definitions then it can also be told
> that a tool is interactive and in that case all changes should be shown
> through that tool.
> 
> So if it fits in your work I'd be very pleased if you could look at this
> issue too :-)
> thanks,
> David.Hi David,

I addressed this already in my first commit. My plan is to define for
each tool which kinds of changes it can display, e.g. modified file,
missing file, added file, etc. This is handled with the parameters
old_kind/new_kind as I saw, so I added a new setting that allows to
define which changes a tool supports, e.g.
"bzr.difftool.TortoiseDiff.supports_kinds_from_to = none-file,file-file"
for a tool that handles added and modified files. The default is that it
can only show modified files because I guess that most diff tools need
two files as parameters, not just one?!

Best regards
Daniel Holbach 1330937908Mon, 05 Mar 2012 08:58:28 +0000 (UTC)
Hello,On 26.02.2012 19:16, Martin Packman wrote:
> This sounds like a great idea. I'm not sure if it makes sense for
> Bazaar to apply as a mentoring organisation (and the deadline for that
> is only a bit over a week away), but perhaps you propose a project
> under the Ubuntu banner? Daniel Holbach is coordinating things there,
> and there's a wiki page we could add bzr+ubuntu project ideas to:
> 
> <https://wiki.ubuntu.com/GoogleSoC2012>I'm not really coordinating things at the Ubuntu side. This cycle and
next are likely going to be too busy for me to be able to commit to
doing it. I just felt it necessary to remind everyone of the GSoC2012 dates.

All the best with your project.

Have a great day,
 Daniel
Andreas Sommer 1330426950Tue, 28 Feb 2012 11:02:30 +0000 (UTC)
*From:* Daniel Holbach 
*Sent:* 27.02.2012 11:51
*To:* Martin Packman 
*Cc:* Andreas Sommer ,, Jelmer Vernooij 
*Subject:* Re: Google Summer of Code 2012 project for Bazaar

> Hello,
>
> On 26.02.2012 19:16, Martin Packman wrote:
>> This sounds like a great idea. I'm not sure if it makes sense for
>> Bazaar to apply as a mentoring organisation (and the deadline for that
>> is only a bit over a week away), but perhaps you propose a project
>> under the Ubuntu banner? Daniel Holbach is coordinating things there,
>> and there's a wiki page we could add bzr+ubuntu project ideas to:
>>
>> <https://wiki.ubuntu.com/GoogleSoC2012>
> I'm not really coordinating things at the Ubuntu side. This cycle and
> next are likely going to be too busy for me to be able to commit to
> doing it. I just felt it necessary to remind everyone of the GSoC2012 dates.
>
> All the best with your project.
>
> Have a great day,
>  Daniel
>I'm seeing a lot of project ideas coming, but as the deadline for
organisation application will be quite soon, it would be good idea to
know if Canonical will offer GSoC projects in the first place and who
will be the supervisor(s).

See also the thread
https://lists.ubuntu.com/archives/ubuntu-deve...

In the meantime, I will edit the wiki page to include my detailed
project idea that I wrote to the list.
Gordon Tyler 1330435095Tue, 28 Feb 2012 13:18:15 +0000 (UTC)
I personally would love to see better integration with JetBrains' IntelliJ
IDEA. There is a bzr plugin for it already, but it's not maintained and
currently crashes on most VCS operations in IDEA 11.

The community edition of IDEA is open source:
http://www.jetbrains.org/display/IJOS/Home
Wichmann, Mats D 1330961332Mon, 05 Mar 2012 15:28:52 +0000 (UTC)
On Tue, Feb 28, 2012 at 6:17 AM, Gordon Tyler  wrote:

> I personally would love to see better integration with JetBrains' IntelliJ
> IDEA. There is a bzr plugin for it already, but it's not maintained and
> currently crashes on most VCS operations in IDEA 11.
>
> The community edition of IDEA is open source:
> http://www.jetbrains.org/display/IJOS/Home
>Without trying to be offensive, that seems a little too specialized to make
a good GSOC project, "fix up a plugin for one specific IDE", useful though
the end result might be to a few people; IDEA is certainly well down the
list of most popular IDEs...  And probably a mentor could be found for the
bzr side, but it seems it would need one on the IDEA side as well?
Gordon Tyler 1330962405Mon, 05 Mar 2012 15:46:45 +0000 (UTC)
I figured it couldn't hurt to suggest it since somebody else suggested
NetBeans support. But I see your point about it not being one of the more
popular IDEs, although IMO that's a crying shame since I think it's one of
the better ones.On Mon, Mar 5, 2012 at 10:27 AM, Wichmann, Mats D 
> wrote:

>
>
> On Tue, Feb 28, 2012 at 6:17 AM, Gordon Tyler  wrote:
>
>> I personally would love to see better integration with JetBrains'
>> IntelliJ IDEA. There is a bzr plugin for it already, but it's not
>> maintained and currently crashes on most VCS operations in IDEA 11.
>>
>> The community edition of IDEA is open source:
>> http://www.jetbrains.org/display/IJOS/Home
>>
>
> Without trying to be offensive, that seems a little too specialized to
> make a good GSOC project, "fix up a plugin for one specific IDE", useful
> though the end result might be to a few people; IDEA is certainly well down
> the list of most popular IDEs...  And probably a mentor could be found for
> the bzr side, but it seems it would need one on the IDEA side as well?
>
>
>
>
Jelmer Vernooij 1331049028Tue, 06 Mar 2012 15:50:28 +0000 (UTC)
Am 27/02/12 11:51, schrieb Daniel Holbach:
> On 26.02.2012 19:16, Martin Packman wrote:
>> This sounds like a great idea. I'm not sure if it makes sense for
>> Bazaar to apply as a mentoring organisation (and the deadline for that
>> is only a bit over a week away), but perhaps you propose a project
>> under the Ubuntu banner? Daniel Holbach is coordinating things there,
>> and there's a wiki page we could add bzr+ubuntu project ideas to:
>>
>> <https://wiki.ubuntu.com/GoogleSoC2012>
> I'm not really coordinating things at the Ubuntu side. This cycle and
> next are likely going to be too busy for me to be able to commit to
> doing it. I just felt it necessary to remind everyone of the GSoC2012 dates.
>
> All the best with your project.
>Do you know if anybody else is coordinating this from the Ubuntu side of 
things? The deadline for signing up is Friday IIRC.

If not, perhaps I can look into it.

Cheers,

Jelmer
Daniel Holbach 1331135545Wed, 07 Mar 2012 15:52:25 +0000 (UTC)
Hello Jelmer,

thanks for your interest in this!On 06.03.2012 16:49, Jelmer Vernooij wrote:
> Do you know if anybody else is coordinating this from the Ubuntu side of 
> things? The deadline for signing up is Friday IIRC.
> 
> If not, perhaps I can look into it.Luke Faraone (~lfaraone) indicated interested and Benjamin Kerensa
(~bkerensa) too to some degree. In the "Google Summer of Code 2012
announced" thread on  I tried to answer all
the questions everyone had, but I don't know how much planning is going
on in the background now.

Have a great day,
 Daniel
Jelmer Vernooij 1330284188Sun, 26 Feb 2012 19:23:08 +0000 (UTC)
On 02/26/2012 01:00 PM, Andreas Sommer wrote:
> I was wondering if there's interest in offering a GSoC project for
> Bazaar this year. From my side, I'd be interested to contribute to my
> favorite VCS, but to be honest I don't have a precise topic proposal.
> Bazaar Explorer would be a nice thing to work on as I think it could use
> some improvement.
>
> One idea would be to work a bit more on
> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
> configuring diff/merge tools (and implementing it in the configuration
> dialogs of qbzr). I think it would be nice to be able to define diff
> tools in a more precise way, such as by file extension or regex. That
> way, one could use special tools like the MS Word diffing scripts from
> TortoiseSVN for *.doc files, or other tools for comparing non-text files
> without having to use "bzr diff --using" via the command line. What do
> you think?It would be interesting to see if we could participate in the Summer of 
Code again this year. I've put up an ideas page, based on the one from 
earlier years.

http://wiki.bazaar.canonical.com/SummerOfCode...

If you have more ideas, please let us know.

Cheers,

Jelmer
Alexander Belchenko 1330416345Tue, 28 Feb 2012 08:05:45 +0000 (UTC)
Jelmer Vernooij пишет:
>   On 02/26/2012 01:00 PM, Andreas Sommer wrote:
>> I was wondering if there's interest in offering a GSoC project for
>> Bazaar this year. From my side, I'd be interested to contribute to my
>> favorite VCS, but to be honest I don't have a precise topic proposal.
>> Bazaar Explorer would be a nice thing to work on as I think it could use
>> some improvement.
>>
>> One idea would be to work a bit more on
>> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
>> configuring diff/merge tools (and implementing it in the configuration
>> dialogs of qbzr). I think it would be nice to be able to define diff
>> tools in a more precise way, such as by file extension or regex. That
>> way, one could use special tools like the MS Word diffing scripts from
>> TortoiseSVN for *.doc files, or other tools for comparing non-text files
>> without having to use "bzr diff --using" via the command line. What do
>> you think?
> It would be interesting to see if we could participate in the Summer of 
> Code again this year. I've put up an ideas page, based on the one from 
> earlier years.
> 
> http://wiki.bazaar.canonical.com/SummerOfCode...
> 
> If you have more ideas, please let us know.I'm sure the very last line should be changed. I'm not sure who will be 
contact person this year though.

"If you have any questions, please contact  
(igc on #bzr)."
Marco Pantaleoni 1330421952Tue, 28 Feb 2012 09:39:12 +0000 (UTC)
On Sun, Feb 26, 2012 at 8:22 PM, Jelmer Vernooij  wrote:

>  On 02/26/2012 01:00 PM, Andreas Sommer wrote:
>
> I was wondering if there's interest in offering a GSoC project for
> Bazaar this year. From my side, I'd be interested to contribute to my
> favorite VCS, but to be honest I don't have a precise topic proposal.
> Bazaar Explorer would be a nice thing to work on as I think it could use
> some improvement.
>
>

>  It would be interesting to see if we could participate in the Summer of
> Code again this year. I've put up an ideas page, based on the one from
> earlier years.
>
> http://wiki.bazaar.canonical.com/SummerOfCode...
>
> If you have more ideas, please let us know.
>What about integrating tools/support to ease *automatic* synchronization
between bazaar repositories/branches across multiple machines?
I'm thinking about using inotify/fsevent along with bzr pull, maybe with
zeroconf/bonjour.

Maybe I'm the only one having this particular itch, but working with
multiple machines, not always online, and with no clear master, I find it
difficult to adapt existing workflows.

Cheers,
Marco
Martin Pool 1330307899Mon, 27 Feb 2012 01:58:19 +0000 (UTC)
On 26 February 2012 23:00, Andreas Sommer
 wrote:
> Hey guys,
>
> I was wondering if there's interest in offering a GSoC project for
> Bazaar this year. From my side, I'd be interested to contribute to my
> favorite VCS, but to be honest I don't have a precise topic proposal.
> Bazaar Explorer would be a nice thing to work on as I think it could use
> some improvement.Hi Andreas,

I think that would be great to do a GSoC for you, and anyone else interested.

I have been sceptical in the past about how much it is worthwhile to
sponsor random students who just want to do some GSoC project.  I
think it is better to concentrate developer time on helping people,
students or not, who want to improve Bazaar in particular.   If we get
both, of course that's awesome.
Martin Pool 1332413631Thu, 22 Mar 2012 10:53:51 +0000 (UTC)
On 26 February 2012 23:00, Andreas Sommer
 wrote:
> Hey guys,
>
> I was wondering if there's interest in offering a GSoC project for
> Bazaar this year. From my side, I'd be interested to contribute to my
> favorite VCS, but to be honest I don't have a precise topic proposal.
> Bazaar Explorer would be a nice thing to work on as I think it could use
> some improvement.
>
> One idea would be to work a bit more on
> https://bugs.launchpad.net/qbzr/+bug/489915, i.e. improving support for
> configuring diff/merge tools (and implementing it in the configuration
> dialogs of qbzr). I think it would be nice to be able to define diff
> tools in a more precise way, such as by file extension or regex. That
> way, one could use special tools like the MS Word diffing scripts from
> TortoiseSVN for *.doc files, or other tools for comparing non-text files
> without having to use "bzr diff --using" via the command line. What do
> you think?"Ubuntu was not accepted into GSoC this year, due to procedural issues
with the application."
<https://lists.ubuntu.com/archives/ubuntu-deve...>
 (I don't know what that means.)

However, if you would like to do a summer project on this, we would be
happy to look at taking you, and other students, on as an intern at
Canonical, with mentoring and a similar honorarium.
Ad
Home | About | Privacy