lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: maintaining advanced power-user Scheme functions


From: Janek Warchoł
Subject: Re: maintaining advanced power-user Scheme functions
Date: Mon, 19 Aug 2013 16:54:42 +0200

2013/8/19 Phil Holmes <address@hidden>:
> ----- Original Message ----- From: "Janek Warchoł"
> <address@hidden>
>> 2013/8/19 Phil Holmes <address@hidden>:
>> > However, my other opposition to git for this
>> > purpose is that it's intended as a Version Control system, which is
>> > completely unnecessary for the LSR - that's just a simple database of >
>> > text,
>> > with no version control needed.
>>
>> Someone once said "if you have a project and it will take you more
>> than an hour to recreate it from scratch, it should be under version
>> control".
>> It may not be apparent why this is so, but the experience confirms it.
>
> The LSR is not a project, it's a collection of text objects.  A simple
> database is the best place for a collection of text objects.

Nonsense.  I have a collection of lilypond scores (more than a
hundred) in a git repository and it's working perfectly, and i have
actually used version control features on that collection of scores.
I.e. i did things that would be impossible to do without version
control.
Besides, look at Mutopia (it's a collection of text objects as well -
i mean, the pieces are independent from each other).  Or ask power
users such as Nicolas, who has his scores under version control.

What you said would be true if the snippets were so simple that they
never change. But they do change.

>> > If you would actually try the LSR, you'll see it's equally quick to >
>> > enter
>> > snippets - each takes a few seconds or a minute at most. All that you >
>> > need
>> > to do is type the snippet (or paste it) and a description - you can't do
>> > _less_ with any other system.
>>
>> Can i do it offline?
>
> You can't update any remote system offline - git or the LSR.

but with git i can do everything that matters offline - add new stuff,
fix stuff, search old versions, etc.  Then i just press a button and
it does the rest.
Imagine that i'm working on a big project w/o internet access (because
i'm on holidays) and i create a few snipets.  Do you think i'll
remember them when i get back online?  Definitely no!  I will only
care to add them to the repository when i'm actually working on the
stuff, not a week later.

>> > What do you find so time-consuming?
>>
>> with current system, as far as i know, i would have to check all these
>> snippets to make sure that they compile with required LilyPond
>> version, and also i don't know of a way to add 'experimental'
>> snippets. For example, i'm doing something and i find an interesting
>> solution, but it only works with current git master and is somewhat
>> hackish - but still useful, at least for advanced users. I'd like to
>> be able to add it under some "draft" or "experimental" category.
>> This isn't related to git, actually - although using git makes
>> everything more maintainable in my experience. For example, i could
>> have my own branch containing some private snippets, and easily merge
>> them when they're ready. Also, assume that i grab all these snippets
>> from my emails and paste them into one big "chaos here" folder (i
>> believe that it's better to have unfinished stuff saved somewhere -
>> just clearly separated from the "clean" stuff - rather than don't have
>> it at all). Having git underneath would be a safety net if someone
>> decides that this wasn't actually a good idea to paste all that stuff
>> there.
>
>
> What you've described there is a set of odd bits of code that are badly
> structured and with no clear idea of what they do ("chaos here" is not good
> documentation practice).  Putting them in a git repo would not make them any
> more suitable for our documentation system than putting them in the LSR. For
> your own use - fine.

What's funny is that this description fits out issue tracker quite
accurately.  It's a set of odd bits of code, usually with no clear
idea what they do (i mean, usually we can see that the output is
wrong, but we don't know what actually happens inside - if we knew,
many more bugs would be fixed instantly after submitting).  And they
are not structured in any way.
Yet we keep them, because they contain some valuable information and
it's better to have some information rather than none at all.
Moreover, we have a policy to add issues to the tracker quite freely,
i mean - when someone posts something wrong, we don't analyze it
trying to find connections with other issues, but we just throw it in.
 It may be marked as duplicate later.

Yet this system seems to work quite well.

> The LSR is intended to allow non-power users the ability to contribute
> lilypond code to other users and potentially our documentation.  As such, it
> performs a useful service.  I cannot imagine why you want to go to all the
> work of reimplmenting something that fundamentally works using completly
> different technology.  It would be a massive waste of time.

Well, as for "completely different technology", that's not necessarily
what i propose.  Using git as the tool to manage the actual *content*
doesn't have to mean changing thee tools that operate on that content.
Why do i  want to do this?  Because the current system is limited: we
don't have support for more than one lily version, upgrading is
inconvenient, and there are no convenient ways to add some valuable
stuff there.

Janekk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]