Browse Source

Create symlink automatically for packaging

Matthew Wang 11 years ago
parent
commit
661acfd3cb
4 changed files with 37 additions and 29 deletions
  1. 2
    5
      Makefile
  2. 27
    22
      README.rst
  3. 8
    1
      setup.py
  4. 0
    1
      src/cdiff

+ 2
- 5
Makefile View File

3
 TESTS = git svn crlf strange
3
 TESTS = git svn crlf strange
4
 TESTPYPI = http://testpypi.python.org/pypi
4
 TESTPYPI = http://testpypi.python.org/pypi
5
 
5
 
6
-.PHONY: dogfood test $(TESTS) clean dist
6
+.PHONY: dogfood test $(TESTS) clean dist-test dist
7
 
7
 
8
 dogfood:
8
 dogfood:
9
 	src/cdiff.py -s
9
 	src/cdiff.py -s
21
 	python3 src/cdiff.py tests/$@.diff | diff -u tests/$@.diff -
21
 	python3 src/cdiff.py tests/$@.diff | diff -u tests/$@.diff -
22
 
22
 
23
 clean:
23
 clean:
24
-	rm -rf MANIFEST build/ cdiff.egg-info/ dist/
24
+	rm -rf src/cdiff MANIFEST build/ cdiff.egg-info/ dist/
25
 
25
 
26
 dist-test:
26
 dist-test:
27
 	./setup.py build sdist upload -r $(TESTPYPI)
27
 	./setup.py build sdist upload -r $(TESTPYPI)
28
 
28
 
29
-install-test:
30
-	pip install -r $(TESTPYPI)
31
-
32
 dist:
29
 dist:
33
 	./setup.py build sdist upload
30
 	./setup.py build sdist upload
34
 
31
 

+ 27
- 22
README.rst View File

16
 Installation
16
 Installation
17
 ------------
17
 ------------
18
 
18
 
19
-Cdiff is not in PyPI yet, so far you could download the script directly or use
20
-the ``setup.py`` to install.
21
- 
22
-**Download directly**
19
+**Install with pip**
23
 
20
 
24
-Save `src/cdiff.py <https://raw.github.com/ymattw/cdiff/master/src/cdiff.py>` to
25
-whatever directory which is in your ``$PATH``, for example, ``$HOME/bin`` is in
26
-my ``$PATH``, so I save the script there and name as ``cdiff``.
21
+Cdiff is already listed on `PyPI <http://pypi.python.org/pypi/cdiff>`, you can
22
+install with ``pip`` if you have the tool.
27
 
23
 
28
-.. code:: shell
29
-
30
-    curl -ksS https://raw.github.com/ymattw/cdiff/master/src/cdiff.py > ~/bin/cdiff
31
-    chmod +x ~/bin/cdiff
24
+.. code:: sh
25
+ 
26
+    sudo pip install cdiff
32
 
27
 
33
-**Install with the setup.py**
28
+**Install with setup.py**
34
 
29
 
35
-You can run the setup.py from the source to install ``cdiff`` to system wide
36
-directory.
30
+You can also run the setup.py from the source if you don't have ``pip``.
37
 
31
 
38
-.. code:: shell
32
+.. code:: sh
39
 
33
 
40
     git clone https://github.com/ymattw/cdiff.git
34
     git clone https://github.com/ymattw/cdiff.git
41
     cd cdiff
35
     cd cdiff
42
     sudo ./setup.py install
36
     sudo ./setup.py install
43
 
37
 
44
-This usually installs it as ``/usr/local/bin/cdiff``.
38
+**Download directly**
39
+
40
+Both ``pip`` and ``setup.py`` installs cdiff to system wide directory, if you
41
+want a minimal tool without the boring external dependencies (like me), just
42
+save `src/cdiff.py <https://raw.github.com/ymattw/cdiff/master/src/cdiff.py>` to
43
+whatever directory which is in your ``$PATH``, for example, ``$HOME/bin`` is
44
+in my ``$PATH``, so I save the script there and name as ``cdiff``.
45
+
46
+.. code:: sh
47
+
48
+    curl -ksS https://raw.github.com/ymattw/cdiff/master/src/cdiff.py > ~/bin/cdiff
49
+    chmod +x ~/bin/cdiff
45
 
50
 
46
 Usage
51
 Usage
47
 -----
52
 -----
57
 
62
 
58
 View a diff (patch) file:
63
 View a diff (patch) file:
59
 
64
 
60
-.. code:: shell
65
+.. code:: sh
61
 
66
 
62
     cdiff foo.patch             # view colored incremental udiff
67
     cdiff foo.patch             # view colored incremental udiff
63
     cdiff foo.patch -s          # view side by side
68
     cdiff foo.patch -s          # view side by side
65
 
70
 
66
 Read diff from local modification in a svn, git, or hg workspace:
71
 Read diff from local modification in a svn, git, or hg workspace:
67
 
72
 
68
-.. code:: shell
73
+.. code:: sh
69
 
74
 
70
     cd proj-workspace
75
     cd proj-workspace
71
     cdiff
76
     cdiff
74
 
79
 
75
 Pipe in a diff:
80
 Pipe in a diff:
76
 
81
 
77
-.. code:: shell
82
+.. code:: sh
78
 
83
 
79
-    svn diff -r PREV | cdiff -s
80
     git log -p -2 | cdiff -s
84
     git log -p -2 | cdiff -s
81
-    git show <commit> | cdiff -s
85
+    git show 15bfa56 | cdiff -s
86
+    svn diff -r PREV | cdiff -s
82
 
87
 
83
 Redirect output to another patch file is safe:
88
 Redirect output to another patch file is safe:
84
 
89
 
85
-.. code:: shell
90
+.. code:: sh
86
 
91
 
87
     svn diff | cdiff -s > my.patch
92
     svn diff | cdiff -s > my.patch
88
 
93
 

+ 8
- 1
setup.py View File

2
 
2
 
3
 from __future__ import with_statement
3
 from __future__ import with_statement
4
 from distutils.core import setup
4
 from distutils.core import setup
5
+import os
6
+
7
+# Create symlink so that to use 'scripts' w/o '.py'
8
+link_name = 'src/cdiff'
9
+if os.path.exists(link_name):
10
+    os.unlink(link_name)
11
+os.symlink('cdiff.py', 'src/cdiff')
5
 
12
 
6
 with open('README.rst') as doc:
13
 with open('README.rst') as doc:
7
     long_description = doc.read()
14
     long_description = doc.read()
8
 
15
 
9
 setup(
16
 setup(
10
     name = 'cdiff',
17
     name = 'cdiff',
11
-    version = '0.0.1',
18
+    version = '0.0.2',
12
     author = 'Matthew Wang',
19
     author = 'Matthew Wang',
13
     author_email = 'mattwyl@gmail.com',
20
     author_email = 'mattwyl@gmail.com',
14
     license = 'BSD-3',
21
     license = 'BSD-3',

+ 0
- 1
src/cdiff View File

1
-cdiff.py