ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* TikZ bug fixing (git, minimals, ...)
@ 2011-09-12  9:51 Mojca Miklavec
  2011-09-12 15:14 ` Philipp A.
  2011-09-12 15:32 ` Aditya Mahajan
  0 siblings, 2 replies; 8+ messages in thread
From: Mojca Miklavec @ 2011-09-12  9:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Christian Feuersaenger

(was: Latest betas break tikz matrix)

On Mon, Sep 12, 2011 at 11:16, Philipp A. wrote:
> Thank you both!
>
> We should get the TikZ devs to accept patches already. does anyone know
> anyone who has CVS access?

See
    doc/generic/pgf/ChangeLog

Christian Feuersaenger ludewich, users.sourceforge.net
Christophe Jorssen cjorssen, users.sourceforge.net
Jannis Pohlmann jannis, xfce.org
Matthias Schulz ma.schulz, email.de
...

(Dear Christian: I'm still waiting for a fix for something that I sent
a while ago. This original thread "Latest betas break tikz matrix" is
at http://www.ntg.nl/pipermail/ntg-context/2011/thread.html.)

We definitely need some ConTeXt specific bug tracking with automatic
email reminders for pgf developers to fix those bugs ;) ;) ;)


In principle we could also create a git project, create a context
branch, apply the fixes to it and use that one in ConTeXt minimals,
hoping that PGF developers will pick them up. Now a question:

- It is trivial to convert CVS project into GIT project (git cvs import ...)
- It is trivial to rearrange the structure into TDS with a script (I
simply use a few rsync commands)
- I don't know how to combine both.

Does anyone have some nice idea how to take the existing CVS project
with complete history and make a TDS-compliang git project out of it
(keeping all the history, authors, ... etc.)

I also have commit rights for TeX Live, but I don't dare applying
patches without having them applied upstream. If nothing else, that
just postpones the problem to the time after PGF will release a new
version and that one won't work.

Mojca
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-12  9:51 TikZ bug fixing (git, minimals, ...) Mojca Miklavec
@ 2011-09-12 15:14 ` Philipp A.
  2011-09-12 21:00   ` Mojca Miklavec
  2011-09-13  6:33   ` Mojca Miklavec
  2011-09-12 15:32 ` Aditya Mahajan
  1 sibling, 2 replies; 8+ messages in thread
From: Philipp A. @ 2011-09-12 15:14 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 1515 bytes --]

thanks for picking up my rant in such a constructive manner :)

A quick googling showed me this tool<http://cvs2svn.tigris.org/cvs2git.html>,
cvs2git, whose “Development status” section really sounds promising:

~~~~

*Development status*

Most of the work of converting a repository from CVS to a more modern
version control system is inferring the most likely history given the
incomplete information that CVS records. cvs2svn has a long history of
making sense of even the most convoluted CVS repositories, and cvs2git uses
this same machinery. Therefore, cvs2git inherits the robustness and many of
the features of cvs2svn <http://cvs2svn.tigris.org/features.html>. cvs2svn
can convert just about every CVS repository we have ever seen, and includes
a plethora of options for customizing your conversion.

The output of cvs2git is one or more dump files that can be imported into
git using the excellent git
fast-import<http://www.kernel.org/pub/software/scm/git/docs/gitfast-import.html>tool.

Although cvs2git is considerably newer than cvs2svn, and much less well
tested, it is believed that cvs2git can (cautiously) be used for production
conversions. If you use cvs2git, please let us know how it worked for you!

~~~~

I hope this means that PGF/TikZ becomes hosted on Github – I think the team
there does a great job and the concept of “pull requests” really fits any
open source project, no matter how hard the criteria for patches are.

hopefully,

philipp

[-- Attachment #1.2: Type: text/html, Size: 1621 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-12  9:51 TikZ bug fixing (git, minimals, ...) Mojca Miklavec
  2011-09-12 15:14 ` Philipp A.
@ 2011-09-12 15:32 ` Aditya Mahajan
  1 sibling, 0 replies; 8+ messages in thread
From: Aditya Mahajan @ 2011-09-12 15:32 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Christian Feuersaenger

On Mon, 12 Sep 2011, Mojca Miklavec wrote:

> We definitely need some ConTeXt specific bug tracking with automatic
> email reminders for pgf developers to fix those bugs ;) ;) ;)

Another option is to rewrite all the code in $TEXMF/tex/context/pgf 
directory in a more ConTeXtist way. Mainly this means writing a catcode 
table (as my example showed) and enabling them in each file. One could 
also consider using the standard \startmodule ... \stopmodule tags around 
each module.

I can do that rewrite, but someone else will need to test all the changes 
as I don't use pgf/tikz.

> I also have commit rights for TeX Live, but I don't dare applying
> patches without having them applied upstream. If nothing else, that
> just postpones the problem to the time after PGF will release a new
> version and that one won't work.

Please don't do that. In the worst case, it will be better to release a 
module with the different name rather than silently overwriting PGF files.

Aditya
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-12 15:14 ` Philipp A.
@ 2011-09-12 21:00   ` Mojca Miklavec
  2011-09-12 21:37     ` Aditya Mahajan
  2011-09-13  6:33   ` Mojca Miklavec
  1 sibling, 1 reply; 8+ messages in thread
From: Mojca Miklavec @ 2011-09-12 21:00 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Mon, Sep 12, 2011 at 17:14, Philipp A. <flying-sheep@web.de> wrote:
> thanks for picking up my rant in such a constructive manner :)
>
> A quick googling showed me this tool, cvs2git, whose “Development status”
> section really sounds promising:
>
> ~~~~
>
> Development status
>
> Most of the work of converting a repository from CVS to a more modern
> version control system is inferring the most likely history given the
> incomplete information that CVS records. cvs2svn has a long history of
> making sense of even the most convoluted CVS repositories, and cvs2git uses
> this same machinery. Therefore, cvs2git inherits the robustness and many of
> the features of cvs2svn. cvs2svn can convert just about every CVS repository
> we have ever seen, and includes a plethora of options for customizing your
> conversion.
>
> The output of cvs2git is one or more dump files that can be imported into
> git using the excellent git fast-import tool.
>
> Although cvs2git is considerably newer than cvs2svn, and much less well
> tested, it is believed that cvs2git can (cautiously) be used for production
> conversions. If you use cvs2git, please let us know how it worked for you!

At the moment I'm using
    git cvsimport -C $DIR/git/gnuplot.git -p x -d $DIR/cvs/gnuplot gnuplot
to get gnuplot out of CVS repository.

So far this worked reliably, the only problems that I experienced were:
- I forgot the --delete switch when using rsync to fetch files from
CVS repository, so files were not removed from repository, but that
was entirely my fault
- I once deleted a directory in CVS which had disastrous consequences
since all the files from that directory are lost. But I think that
this is a limitation of CVS, not limitation of git import tool. Nobody
could restore those files. I had the git repository from an earlier
attempt, so this was not a problem, but the CVS repository is still of
questionable value.
- files in CVS repositories on sourceforge have utterly weird
permissions (like 575 for example); when I do "git cvsimport" those
permissions stay on files on the same computer, but since git doesn't
keep exact permissions, it turns out to be ok at the end
- Warning: commit message does not conform to UTF-8.
You may want to amend it after fixing the message, or set the config
variable i18n.commitencoding to the encoding your project uses.

Apart from that, no negative experience.

> ~~~~
>
> I hope this means that PGF/TikZ becomes hosted on Github – I think the team
> there does a great job and the concept of “pull requests” really fits any
> open source project, no matter how hard the criteria for patches are.

Sadly not. If I put their code to GitHub, this doesn't mean that
GitHub will become their primary version control system. I would use
it just to simplify packaging of ConTeXt distribution. However:
- it would be a convenient place for pgf developers to see which
patches are needed
- patches would be tested by ConTeXt users
- it would be much easier to keep track of changes that are needed
- we could use the bug tracker to keep track of changes that are still needed
- Aditya or anyone else would be free to play with more ConTeXt-like
code; pgf developers are not all aware of modern coding style in
ConTeXt, but if they received a ready solution, they might accept it

I have now put the files to
    https://github.com/mojca/pgf
The location is temporary, so don't rely on it.

Here is what I did:
    rsync -aO --delete rsync://pgf.cvs.sourceforge.net/cvsroot/pgf/  cvs/pgf
    git cvsimport -C $PWD/git/pgf.git -p x -d $PWD/cvs/pgf pgf
    git remote add origin git@github.com:mojca/pgf.git
    git push -u origin master
    git push --tags

The main problem is that I'm not yet sure how to transform this into
TDS (keeping all the history etc.)

Mojca
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-12 21:00   ` Mojca Miklavec
@ 2011-09-12 21:37     ` Aditya Mahajan
  0 siblings, 0 replies; 8+ messages in thread
From: Aditya Mahajan @ 2011-09-12 21:37 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1064 bytes --]

>> I hope this means that PGF/TikZ becomes hosted on Github – I think the team
>> there does a great job and the concept of “pull requests” really fits any
>> open source project, no matter how hard the criteria for patches are.
>
> Sadly not. If I put their code to GitHub, this doesn't mean that
> GitHub will become their primary version control system. I would use
> it just to simplify packaging of ConTeXt distribution. However:
> - it would be a convenient place for pgf developers to see which
> patches are needed
> - patches would be tested by ConTeXt users
> - it would be much easier to keep track of changes that are needed
> - we could use the bug tracker to keep track of changes that are still needed
> - Aditya or anyone else would be free to play with more ConTeXt-like
> code; pgf developers are not all aware of modern coding style in
> ConTeXt, but if they received a ready solution, they might accept it

Untested (but this is really simple code, so nothing should break)

https://github.com/mojca/pgf/pull/1

Aditya

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-12 15:14 ` Philipp A.
  2011-09-12 21:00   ` Mojca Miklavec
@ 2011-09-13  6:33   ` Mojca Miklavec
  2011-09-14  9:08     ` Philipp A.
  1 sibling, 1 reply; 8+ messages in thread
From: Mojca Miklavec @ 2011-09-13  6:33 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Mon, Sep 12, 2011 at 17:14, Philipp A. wrote:
> thanks for picking up my rant in such a constructive manner :)
>
> A quick googling showed me this tool, cvs2git, whose “Development status”
> section really sounds promising:
>
> ~~~~
>
> Development status
>
> Most of the work of converting a repository from CVS to a more modern
> version control system is inferring the most likely history given the
> incomplete information that CVS records. cvs2svn has a long history of
> making sense of even the most convoluted CVS repositories, and cvs2git uses
> this same machinery. Therefore, cvs2git inherits the robustness and many of
> the features of cvs2svn. cvs2svn can convert just about every CVS repository
> we have ever seen, and includes a plethora of options for customizing your
> conversion.
>
> The output of cvs2git is one or more dump files that can be imported into
> git using the excellent git fast-import tool.
>
> Although cvs2git is considerably newer than cvs2svn, and much less well
> tested, it is believed that cvs2git can (cautiously) be used for production
> conversions. If you use cvs2git, please let us know how it worked for you!

I took a look at their webpage after reading that cvs2svn is capable
of converting .cvsignore into svn properties.

When I tried to do conversion from CVS, the .cvsignore files are the
only leftovers that somehow bother me (I would really like to get rid
of .cvsignore files and put some gitignore somewhere, without my
commit being visible), but then I noticed that .cvsignore ->
.gitignore conversion is still on TODO list.

The other thing that would make me happy would be the ability to apply
some hook to do some transformation of code before comitting to git
(let's say that I would want to reencode files into UTF-8 or that I
would want to move or rename some files before the actual commit). If
you know a simple way to do this, please let me know.

Mojca


Mojca
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-13  6:33   ` Mojca Miklavec
@ 2011-09-14  9:08     ` Philipp A.
  2011-09-14 10:38       ` Mojca Miklavec
  0 siblings, 1 reply; 8+ messages in thread
From: Philipp A. @ 2011-09-14  9:08 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 1420 bytes --]

hi mojca, do you want to swich from cvs to git or just create a git mirror
of the cvs repo? in the latter case, i’d be interested in why you don’t
swich to git entirely.

2011/9/13 Mojca Miklavec <mojca.miklavec.lists@gmail.com>

> When I tried to do conversion from CVS, the .cvsignore files are the
> only leftovers that somehow bother me (I would really like to get rid
> of .cvsignore files and put some gitignore somewhere, without my
> commit being visible), but then I noticed that .cvsignore ->
> .gitignore conversion is still on TODO list.
>
that cvs2git didn’t build it in makes me wonder what the big problem is.
both use shell-style wildcards, both can be anywhere in the path and apply
to that subpath, so there must be some hidden caveat…

The other thing that would make me happy would be the ability to apply
> some hook to do some transformation of code before comitting to git
> (let's say that I would want to reencode files into UTF-8 or that I
> would want to move or rename some files before the actual commit). If
> you know a simple way to do this, please let me know.
>
yes, there is such a thing. it is aptly named “pre-commit hook”:
http://book.git-scm.com/5_git_hooks.html

but since there are many settings in git (e.g. core.autocrlf for line
endings), i’d guess there are some for encoding, too. i might be mistaken,
though.

 Mojca
>
philipp

[-- Attachment #1.2: Type: text/html, Size: 2110 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: TikZ bug fixing (git, minimals, ...)
  2011-09-14  9:08     ` Philipp A.
@ 2011-09-14 10:38       ` Mojca Miklavec
  0 siblings, 0 replies; 8+ messages in thread
From: Mojca Miklavec @ 2011-09-14 10:38 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Wed, Sep 14, 2011 at 11:08, Philipp A. wrote:
> hi mojca, do you want to swich from cvs to git or just create a git mirror
> of the cvs repo?

Create a git mirror.

> in the latter case, i’d be interested in why you don’t
> swich to git entirely.

Because I'm not the developer. That decision would have to be made in
the team developing PGF. If they don't like svn/git or other tools, I
cannot make decisions instead of them what they have to use.

>> When I tried to do conversion from CVS, the .cvsignore files are the
>> only leftovers that somehow bother me (I would really like to get rid
>> of .cvsignore files and put some gitignore somewhere, without my
>> commit being visible), but then I noticed that .cvsignore ->
>> .gitignore conversion is still on TODO list.
>
> that cvs2git didn’t build it in makes me wonder what the big problem is.

I was testing only "git cvsimport" so far, but the homepage of cvs2svn
claims that they don't support it yet (they are looking for developers
to implement it). The main developer is not a git user.

>> The other thing that would make me happy would be the ability to apply
>> some hook to do some transformation of code before comitting to git
>> (let's say that I would want to reencode files into UTF-8 or that I
>> would want to move or rename some files before the actual commit). If
>> you know a simple way to do this, please let me know.
>
> yes, there is such a thing. it is aptly named “pre-commit hook”:
> http://book.git-scm.com/5_git_hooks.html

Thank you. I will try to figure out if I can make it work in my scenario.

> but since there are many settings in git (e.g. core.autocrlf for line
> endings), i’d guess there are some for encoding, too. i might be mistaken,
> though.

I'm not talking about encoding only. I would also like to reshuffle
files (create TDS structure out of current repository of pgf).

Mojca
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-09-14 10:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-12  9:51 TikZ bug fixing (git, minimals, ...) Mojca Miklavec
2011-09-12 15:14 ` Philipp A.
2011-09-12 21:00   ` Mojca Miklavec
2011-09-12 21:37     ` Aditya Mahajan
2011-09-13  6:33   ` Mojca Miklavec
2011-09-14  9:08     ` Philipp A.
2011-09-14 10:38       ` Mojca Miklavec
2011-09-12 15:32 ` Aditya Mahajan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).