author  Edouard Tisserant <edouard.tisserant@gmail.com> 
Wed, 19 Jan 2022 08:51:45 +0100  
changeset 3412  04c4835ca376 
parent 2241  e762e234181d 
permissions  rwrr 
2185
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

1 
How Do I Submit A Good Pull Request? 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

2 
 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

3 

439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

4 
It's highly recommended to write nice and clean python code. Beremiz 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

5 
project tries to follows most of PEP8 recommendations. They are 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

6 
automatically checked on every push and merge by Bitbucket pipelines. 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

7 

439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

8 
To avoid pushing "unclean" code, i's recommended to add one of the following 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

9 
commands to pre commit Mercurial hook into .hg/hgrc configuration file. 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

10 

2241
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

11 
Unfortunately script can't distinguish between real commit and shelve. If you 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

12 
are using shelve (or maybe some other affected commands), it's recommended to 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

13 
use pre<command> and post<command> hooks to create flags to skip checks on 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

14 
some operations. 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

15 

e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

16 

2185
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

17 
``` 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

18 
[hooks] 
2241
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

19 
preshelve.linter = touch .hg/skiphook 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

20 
postshelve.linter = rm .hg/skiphook 
2185
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

21 
pretxncommit.linter = ./tests/tools/check_source.sh onlychanges 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

22 
``` 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

23 
or the same done using Docker container, so result will be the same as 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

24 
on Bitbucket pipeline. 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

25 

439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

26 
``` 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

27 
[hooks] 
2241
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

28 
preshelve.linter = touch .hg/skiphook 
e762e234181d
Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2185
diff
changeset

29 
postshelve.linter = rm .hg/skiphook 
2185
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

30 
pretxncommit.linter = hg status m n a n I '**.py' change $HG_NODE > files.lst && docker run volume=$PWD:/beremiz workdir="/beremiz" volume=$PWD/../CanFestival3:/CanFestival3 memory=1g entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremizrequirements filestocheck files.lst 
439fc5d13c41
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff
changeset

31 
``` 