Re: [dev] interested in issue tracker dev

2012-02-08 Thread Ahmet Emre Çepoğlu
On Thu, Jan 26, 2012 at 2:40 AM, Paul Hoffman nkui...@nkuitse.com wrote:

  - store everything under version control system: closed/resolved issues
  can be moved to different branch (smaller checkout)

 Interesting.

  This way data can be accessed very easily, some usage ideas:
 
  - searching for existing issues simple as checking out repository and
  greping files

 Yay.

  - nice time-line provided by version control system (history of
  commits): when issue was updated, closed, new response was send

 Double yay.

  - advanced usage e.g. search for issues with specific priority, cat
  them into one file and open with your email client

 Excellent.

  I think that would make some people happy.

 Sounds like some good ideas to me.

  Use mailing list as main interface, web interface could just send
  messages to list. Every message would be automatically prefixed with
  issue ID, ID would be also used as name for mbox file. Version control
  system would provide some security against corruption (just rollback
  to previous working checkout).

 I'm not crazy about shoehorning issue tracking into e-mail like this,
 it's more complicated than it needs to be.  Concentrate on simple, basic
 storage and functions and let someone else who cares about a web
 interface write one.

  Anyway those are just random ideas, not sure if that is the way to go.

 That's good for starters.  Here's a simple issue tracker repository
 using directories, key-value text files, and symlinks:

 /path/to/repo/
ticket/
abc123/
+owner/
yolanda - ../../../user/yolanda
properties [status, description, whatever]
history [log of activity, append-only]
mail/ [maildir, mh mailbox, whatever]
+attachments/
hjk987 - ../../../attachment/hjk987
user/
yolanda/
+tickets/
abc123 - ../../../ticket/abc123
properties [name, e-mail address, etc.]
attachment/
hjk987/
properties
contents.foo [the file itself]

 Simple, extensible (group/*, project/*, ticket/*/+watchers,
 ticket/*/+parent, whatever), and if for some reason you don't want
 symlinks you can manage the relationships between things some other way
 (hard links, plain text files, whatever).

 Call it nfuit (non-fucked up issue tracker) and write some shell
 functions for convenience:

 nfuit_create_repository  nfuit_create_repository /path/to/another/repo
 nfuit_create nfuit_create user/bob -name Bob -email
 b...@example.net
 nfuit_setnfuit_set user/$u -name $name -email $addr
 nfuit_properties nfuit_properties user/bob | while read key val;
 do ...; done
 nfuit_lognfuit_log $(nfuit_now) ticket/123 created -by bob
 -status open
 nfuit_exists if !nfuit_exists ticket/999; then ...; fi
 nfuit_link   nfuit_link user/bob +tickets ticket/666
 nfuit_unlink # obvious
 nfuit_links  for t in $(nfuit_links user/yolanda +tickets); do
 ...; done
 nfuit_is_linked  if nfuit_is_linked user/$u +tickets ticket/123;
 then ...; fi
 nfuit_lock   nfuit_lock user/bob/properties
 nfuit_unlock nfuit_unlock user/bob/properties

 I've done most of this (in zsh).  Then build the rest on top of this and
 utils like grep, find, munpack, etc.

 Paul.

 --
 Paul Hoffman


Well, this sounds functional enough, but... I feel that maybe I am
considering it to be simpler than it actually is. This is what I understand:
-Now, the issue tracker application manages the creation and modification
of a folder as you said.
-All the issue tracking data sits in this folder. This folder sits inside a
version-controlled folder (so, this folder replaces the TODO files we swap
around, if you place it together with the source code)
-Then all I have to do is write a simple bash or C program with a couple of
features (like the ones you listed).
- If control through email is requested, another app should be written that
extends an email handling system.
- If anyone wants a web interface, that too would be done with another
application.

Something this simple I feel would have been done already. What am I
missing?
If nothing, I could get started right away.

Cheers


Re: [dev] interested in issue tracker dev

2012-01-14 Thread Ahmet Emre Çepoğlu
On 1/14/12, hiro 23h...@googlemail.com wrote:
 Maybe you shouldn't write software because you're bored.

Why are you telling me this? I did not say once that I was doing this
because I was bored. Only because people know more than me, I should
sit in the corner and watch? If that is actually the case, please let
me know so I do not bother at all.